-
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/
Następne wpisy z tego wątku
- 01.02.13 16:15 Marek
- 01.02.13 16:36 Marek
- 01.02.13 20:24 Borys Pogoreło
- 01.02.13 20:28 Borys Pogoreło
- 01.02.13 21:23 Jasio
- 01.02.13 21:25 Jasio
- 01.02.13 22:52 Borys Pogoreło
- 01.02.13 22:58 Borys Pogoreło
- 02.02.13 00:30 Jasio
- 02.02.13 00:32 Jasio
- 02.02.13 01:09 Cezary Tomczyk
- 02.02.13 01:22 Jasio
- 02.02.13 01:30 Cezary Tomczyk
- 02.02.13 01:36 Cezary Tomczyk
- 02.02.13 01:46 Borys Pogoreło
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2025-04-05 Dziwny wymiar wyroku
- 2025-04-05 Prunt z dachu
- 2025-04-05 Taśma LED
- 2025-04-05 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-04-05 Warszawa => Strategic Account Manager <=
- 2025-04-05 co w Anglii dziś w Polsce za 30 lat
- 2025-04-05 Wrocław => SOC Tech Lead <=
- 2025-04-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-04-05 Wyrok dożywocia dla Polki
- 2025-04-04 Prezydium Sejmu Tuskiego orzekło: Poseł KO mecenas Roman Giertych NIE jest mordercą (w żadnym sensie tego słowa?)
- 2025-04-04 Reset komóry
- 2025-04-04 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-04-04 Zielonka => Key Account Manager IT <=
- 2025-04-04 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2025-04-04 Warszawa => Mid/Senior IT Recruiter <=