2014-04-09 14 views
5

Używam animacji przy użyciu Kineticjs przy użyciu modułu Animacja. Teraz zauważyłem dość dużą różnicę w wydajności między Chrome i Firefoksem. Patrząc na framerate, znalazłem następujące wyniki.KineticJS: wydajność animacji w Firefoksie i Chrome

 Chrome Firefox 
avg:  50   50 
min:  33   20 
max:  56   75 

Jak widać, zmienność framerate dla FireFox jest dużo większa. Animacja w przeglądarce Chrome jest płynna (przynajmniej wystarczająco gładka), ale animacja w Firefoksie zmienia się co sekundę, dzieje się tak, gdy liczba klatek na sekundę jest bardzo wysoka lub niska.

Szczególnie wysokie skoki framerate wydają się zrujnować wygląd płynnej animacji.

Czy ktoś inny doświadczył tego zachowania? Czy istnieje sposób na wygładzenie framerate nieco więcej w Firefoksie?

+1

Nie jestem zaznajomiony z KineticJS, jednak od pewnego czasu korzystam zarówno z Chrome, jak i Firefoxa. Mogę powiedzieć, że wszechstronna przeglądarka Chrome radzi sobie z animacjami o wiele lepiej niż Firefox. –

+0

Doświadczyłem tego. Nie wiem, co to jest problem z FF, ale czasami po prostu muszę ponownie uruchomić przeglądarkę lub mój komputer, a potem znowu działa bardzo dobrze. –

+0

Uzgodnione. FF dostaje "zacinania się", szczególnie podczas animacji dużego stresu. – markE

Odpowiedz

0
Może to wynikać z różnic w architekturze zakładek przeglądarki, takich jak fakt, że obecnie Google Chrome używa oddzielnego procesu dla każdej karty, więc wolny lub zły kod na jednej karcie znacznie mniej wpływa na kod na innej karcie . Dzięki zakładkom Firefoksa uruchamiane są w tym samym procesie, więc powolny kod na jednej karcie może wpływać na inne karty.

Może to być spowodowane różnicami w wydajności przeglądarki, co oznacza implementację API DOM i JavaScript, z których korzystasz.

Czy istnieje sposób na wygładzenie framerate nieco więcej w Firefoksie?

Powinieneś spróbować znaleźć przyczyny różnic w framerate, proces eliminacji jest prawdopodobnie najlepszą ścieżką.

Spróbuj używać przeglądarek z jedną kartą i przeglądaj listę apis, aby sprawdzić, czy istnieją różnice w wydajności.