eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwProblem z animacją JSRe: Problem z animacją JS
  • Data: 2013-02-02 12:24:19
    Temat: Re: Problem z animacją JS
    Od: Marek <p...@s...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2013-02-02 02:20, Jasio pisze:
    > W dniu 2013-02-02 02:10, Marek pisze:
    >>
    >> Ok, dałem 16ms aby wstrzelić się w synchronizację pionową monitora i
    >> większy offset w pikselach aby zachować prędkość przesuwania się
    >> obiektu. Efekt teraz jest taki, że pod IE pogorszyła się lekko płynność
    >> ruchu. Chrome wizualnie zachowuje się podobnie. A FF już nie delikatnie
    >> przycina lecz widać bardzo wyraźnie skokowy ruch animacji. Mi to wygląda
    >> na brak akceleracji w tej przeglądarce.
    >>
    >
    > a mi wygląda na kiepsko napisaną animację, bo inni nie mają takich
    > problemów, ale nie widząc kodu, to możemy tylko gdybać :)

    Proszę bardzo.
    To tak na szybko uproszczona wersja obrazująca problem. Zostawiłem 10ms.
    Pod IE10 bardzo płynnie przesuwa się obiekt a pod FF ruch przysypia i
    szarpie między przyśnięciami. Przestaw sobie na 20ms a otrzymasz to samo
    lecz wolniej będzie się kwadrat przesuwał. Przy 40ms trudniej to
    dostrzec bo ruch jest bardzo wolny (jak coś się nie porusza prawie to
    trudno zobaczyć nierównomierności tego ruchu) ale można przestawić skok
    na 2px aby przysypianie i szarpanie stało się lepiej widoczne.

    Pod Chrome jest ok - najwyraźniej tej przeglądarce szkodzi specyfika
    serwisu WWW: przejrzystości, bitmapa w tle i nie wiem co jeszcze. W
    poniższym banalnym przykładzie nie widać tych efektów więc skupmy się na FF.

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Bez tytulu</title>
    <style type="text/css">
    #box {
    height: 100px;
    width: 100px;
    position: absolute;
    left: 0px;
    top: 100px;
    background-color: #F60;
    }
    </style>
    <script>
    var xOffset=0;
    var obj=null;

    function animate()
    {
    if (++xOffset>500) xOffset=0;
    obj.style.left=xOffset+"px";
    }


    function init()
    {
    obj=document.getElementById("box");
    setInterval(animate,10);
    }

    window.onload=init;


    </script>
    </head>

    <body>
    <div id="box"></div>
    </body>
    </html>
    --

    Pozdrawiam
    Marek

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: