eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwProblem z animacją JSRe: Problem z animacją JS
  • Data: 2013-02-01 11:33:33
    Temat: Re: Problem z animacją JS
    Od: Cezary Tomczyk <c...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2013-02-01 01:32, Borys Pogoreło pisze:
    > Dnia Thu, 31 Jan 2013 22:12:58 +0100, Cezary Tomczyk napisał(a):
    >
    >>>> 1. timeout: 1000 / fps (ile tam ramek na sekunde potrzebujesz)
    >>>> 2. setTimeout zamiast setInteval. Dlaczego? W google znajdziesz mnostwo
    >>>> informacji na ten temat. :-)
    >>>
    >>> W jQuery wykorzystują właśnie setInterval(), a ich animate() jest
    >>> bezproblemowe. Przyczyna musi leżeć gdzieś indziej.
    >>
    >> To już jakaś zaraza musi być :P "bo w jQuery napisali...". To, że coś
    >> jest napisane w jQuery tak, a nie inaczej, nie świadczy akurat o tym, że
    >> jest dobrze. W ogóle zdefiniowanie pojęcie "dobrze napisane" jest
    >> trudne, wiem.
    >
    > Zniknąłeś drugą część mojego zdania. :)

    Ekhm, zniknąłem? :/

    > Ich animate() wykorzystuję często i nie mam zastrzeżeń - więc widocznie da
    > się to zrobić dobrze za pomocą setInterval().

    Nie napisałem, ze nie działa, ale ze mogłoby to być inaczej napisane :-)

    >> A co do setInterval:
    >> http://zetafleet.com/blog/why-i-consider-setinterval
    -harmful
    >>
    >> Osobiście zawsze do animacji używam setTimeout z powodów np. opisanych w
    >> podanym przeze mnie linku.
    >
    > Owszem, te powody mają sens, ale nie w przypadku animacji! Tu nas nie
    > interesują opóźnienia sieciowe, zaś powód #3 jest wręcz zaletą -

    Ok, co to animacji opóźnienia sieciowe #2 może nie maja generalnie
    znaczenia.

    > priorytetem funkcji jest wykonać się w określonym czasie, nie określoną
    > liczbę razy, co w razie problemów z kodem może się dowolnie przeciągnąć.

    Jeśli akcja B zależy od wyniku akcji A (i tak w kolko), a akcja A
    zamiast wykonać się w 100ms wykona się w 200ms, to w międzyczasie akcja
    B uruchomi się i będzie błąd, gdyż nie ma jeszcze wyniku z akcji A.
    Czemu właśnie przeciwdziała setTimeout.

    > Co do #1 to mam mieszane uczucia - daje to jednak pewność, że kod będzie
    > się wykonywać aż do czasu wyłączenia timera.

    O ile chcemy by się wykonywał aż do czasu wyłączenia timera.

    --
    Cezary Tomczyk
    http://www.ctomczyk.pl/

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: