Leistungsprobleme mit HTML5 Canvas in einigen mobilen Browsern.

Hallo, ich habe eine Webapp, die sowohl auf Smartphone- als auch auf Desktop-Browsern ausgeführt werden kann. Während ich erwartet hatte, auf kleinen Geräten wie dem iPhone merkwürdiges Verhalten zu zeigen, war ich ziemlich zuversichtlich, dass es auf einem Android Galaxy Tab, dem Android-Gerät, mit dem ich momentan Tests durchführen kann, gut laufen würde.

Jetzt habe ich eine Reihe von Browsern auf dem Galaxy Tab installiert, um Dinge zu testen mit:

Nativer Android-BrowserChrome für AndroidFirefox für Android

Auf dem Desktop habe ich benutzt

FeuerfuchsGoogle Chrome

und endlich habe ich ein iphone zum testen.

Die Website verwendet HTML5-Canvas für pixel- und spritebasierte Zeichnungen, ohne ausgefallene Transformationen, Filter oder Effekte, meist einfache Pfade und Polygone. Ich höre zu, um Ereignisse zu berühren und zu verwendenrequestAnimationFrame für die richtige Neuzeichnung.

Insgesamt läuft die Anwendung gut auf Desktop-Browsern, aber auch auf iOS Safari (iPhone) und Firefox-on-Android. Trotzdem macht mir Androids Native Browser Probleme. Ich habe es so eingestellt, dass der Bildschirm rot wird, wenn das Javascript nicht reagiert, und er blinkt fast immer, wenn Sie den Bildschirm berühren.

Daher frage ich mich, ob es bekannte Probleme mit Android Native App und HTML5 gibt. Aufgrund des nicht existierenden Namens des nativen Browsers ist es ziemlich schwierig, Informationen darüber zu googeln.Irgendwelche Ideen für mich, wo ich mehr Informationen bekommen kann? Irgendwelche Ideen, was die Verzögerung des nativen Android-Browsers verursachen könnte?

Es gibt ein paar Ideen zu diesem Thema:

iOS unterstützt requestAnimationFrame nicht, daher habe ich es durch ein Timeout-basiertes Ersatzprogramm ersetzt. Wenn ich diesen Ersatz im nativen Browser von Android verwende, bleibt das Problem bestehen.

Ich benutze AJAX (google clojure xhrio) ziemlich regelmäßig, um Daten vom Server abzurufen. Könnte es sein, dass Datenabruf-Rückrufe meine Ereignis-Pipeline verstopfen?

Ist bekannt, dass Protokollkonsolenmeldungen (console.log) Anwendungen verlangsamen? Könnten sie dazu führen, dass der Browser den DOM-Baum erneut durchläuft, oder ähnliches?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage