eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwProblem z animacją JSRe: Problem z animacją JS
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!feeder.erje.net!eu.feeder.
    erje.net!newsfeed.datemas.de!rt.uk.eu.org!aioe.org!.POSTED!not-for-mail
    From: Cezary Tomczyk <c...@g...com>
    Newsgroups: pl.comp.www
    Subject: Re: Problem z animacją JS
    Date: Fri, 01 Feb 2013 11:33:33 +0100
    Organization: Aioe.org NNTP Server
    Lines: 52
    Message-ID: <keg5lv$dop$1@speranza.aioe.org>
    References: <keddig$a8s$1@node1.news.atman.pl> <kedka3$ijq$1@speranza.aioe.org>
    <grf8mcb1q2rp$.139v5yki70im7$.dlg@40tude.net>
    <keemol$s7o$1@speranza.aioe.org>
    <1sqrq2zox6xh7.w6hqj0h5fy57$.dlg@40tude.net>
    NNTP-Posting-Host: zYd0PXwpR9QMvAmoEDGsiw.user.speranza.aioe.org
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Complaints-To: a...@a...org
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107
    Thunderbird/17.0.2
    X-Notice: Filtered by postfilter v. 0.8.2
    Xref: news-archive.icm.edu.pl pl.comp.www:401829
    [ ukryj 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: