Problemy z wydajnością z HTML5 Canvas w niektórych przeglądarkach mobilnych.

Witam Mam aplikację internetową, która powinna działać zarówno na smartfonach, jak i na przeglądarkach komputerowych. Podczas gdy oczekiwałem ciekawego zachowania na małych urządzeniach, takich jak Iphone, byłem przekonany, że będzie działał dobrze na Android Galaxy Tab, którym jest Android Device, z którym mogę teraz testować.

Teraz zainstalowałem kilka przeglądarek na karcie Galaxy, aby przetestować:

Android Native BrowserChrome na AndroidaFirefox dla Androida

Na pulpicie użyłem

FirefoxGoogle Chrome

i wreszcie mam iPhone'a do przetestowania.

Strona wykorzystuje płótno HTML5 do rysowania opartego na pikselach i spritach, bez fantazyjnej transformacji, filtrów lub efektów, głównie prostych ścieżek i wielokątów. Słucham zdarzeń dotyku i użytkowaniarequestAnimationFrame dla poprawnego przerysowania.

Ogólnie rzecz biorąc, aplikacja działa dobrze na przeglądarkach Desktop, działa również świetnie na iOS Safari (iPhone) i Firefox na Androida. Mimo to Androids Native Browser sprawia mi kłopoty. Ustawiłem go tak, aby ekran migał na czerwono, gdy javascript nie reaguje, i miga prawie zawsze po dotknięciu ekranu.

Zastanawiam się więc, czy istnieją jakieś znane problemy z Android Native App i HTML5. Ze względu na nieistniejącą Nazwę rodzimej przeglądarki jest dość trudno google informacje na ten temat.Jakieś pomysły dla mnie, gdzie mogę uzyskać więcej informacji? Jakieś pomysły, które mogą spowodować opóźnienie rodzimej przeglądarki Android?

Istnieje kilka pomysłów na ten problem:

iOS nie obsługuje requestAnimationFrame, dlatego zastąpiłem go zastąpieniem opartym na limicie czasu. Jeśli użyję tego zamiennika w rodzimej przeglądarce Android, problem będzie się powtarzał.

Używam AJAX (google clojure xhrio) dość regularnie do pobierania danych z serwera. Czy to możliwe, że wywołania zwrotne pobierania danych zatykają mój potok zdarzeń?

Czy wiadomo, że komunikaty konsoli (console.log) spowalniają aplikacje? Czy mogą spowodować, że przeglądarka ponownie uruchomi drzewo DOM lub cokolwiek związanego?

questionAnswers(2)

yourAnswerToTheQuestion