Wyświetlam animowany GIF, który działa, gdy moje żądanie AJAX jest w toku i zostaje zatrzymany po przetworzeniu odpowiedzi przez skrypt.Czy to prawda, że animacja GIF działa w tym samym wątku, co javascript we wszystkich popularnych przeglądarkach?
Podczas tej operacji zauważam, że podczas gdy odpowiedź z żądania jest przetwarzana w moim skrypcie (który zawiera dość ciężką aktualizację DOM) animacja zawiesza się.
Moje badania skłaniają mnie do przekonania, że dzieje się tak dlatego, że animacja GIF odbywa się w tym samym wątku, w którym działa javascript - że przeglądarka jest prawdziwie jednowątkowa. Czy jest to poprawna interpretacja dla wszystkich obecnych przeglądarek głównych (np. Chrome, Firefox, Safari, IE)?
Po drugie, dlaczego tak się dzieje? Czy naprawdę nie jest możliwe, że przeglądarka mogłaby poświęcić wątek animacjom GIF, aby nie zamarzały, gdy wykonywany był blok javascript?
Aktualizacja
This to interesująca strona. Mówi o użyciu czystych animacji CSS3. Wciąż jednak zawieszają się w Firefoksie - może wkrótce FF to naprawi. Wygląda na to, że powinienem uważać CSS za animację raczej za pomocą GIF-a.
Nie powinno to być łatwe do sprawdzenia? Wyciągnij inspektora sieci, ustaw punkt przerwania. Domyślam się, że nie, ale jeśli tak jest, może to pomoże przekonać ludzi do zaprzestania używania gifów, w takim przypadku może nie powinno być naprawione ... –
Cóż, tak, ustawienie punktu przerwania zatrzymuje animowany GIF przed uruchomieniem. A więc jaka jest Twoja alternatywa dla animowanego GIF-a? –
Nie mam jednego * siebie *, i nie wydaje się, aby format był szeroko obsługiwany w oprogramowaniu klienckim, które nawet pasuje do stabilności przerażającej jakości GIF, ale musisz wiedzieć, że sam format GIF (i wszystkie znane oprogramowanie, które je renderuje) jest strasznie nieaktualne. GIF zbiorowo okrada nas z wielu gigawatów, postawiłem. A także uruchamia się z opóźnieniem dla wszelkich nieważnych rozdzielczości na urządzeniach mobilnych. –