title: Performance problems with HTML5 Canvas in some mobile browsers.
body: <p>Hi I have a Webapp that should be able to run on both Smartphone and Desktop Browsers alike. While I was expecting to get some curious behaviour on small devices like the Iphone, I was pretty confident that it would run well on an Android Galaxy Tab which is the Android Device that I can run tests with at the moment.</p>
  
  <p>Now I have installed a bunch of Browsers on the Galaxy Tab to test things with:</p>
  
  <ul>
  <li>Android Native Browser</li>
  <li>Chrome for Android</li>
  <li>Firefox for Android</li>
  </ul>
  
  <p>On the Desktop I have used </p>
  
  <ul>
  <li>Firefox</li>
  <li>Google Chrome</li>
  </ul>
  
  <p>and finally I have an Iphone to test with.</p>
  
  <p>The website uses HTML5 canvas for pixel and sprite based drawing no fancy transformation, filters or effects, mostly simple paths and polygons. I do listen to touch events and use <code>requestAnimationFrame</code> for proper redrawing.</p>
  
  <p>Overall the application runs well on Desktop Browsers, it is also running great on iOS Safari (iPhone) and Firefox-on-Android. Yet Androids Native Browser is giving me trouble. I have set it up so that the screen flushes red when the javascript is not responsive, and it does flash almost always when touching the screen.</p>
  
  <p>So I wonder whether there are any known issues with Android Native App and HTML5. Due to the nonexistent Name of the native Browser its quite hard to google information about this. <strong>Any ideas for me where I can get more information? Any ideas what might cause the lagging of the native Android browser?</strong></p>
  
  <p>There are a few ideas about the issue:</p>
  
  <ul>
  <li><p>iOS does not support requestAnimationFrame, therefore I replaced it with a timeout based replacement. If I use that replacement on Android's native browser, the problem persists.</p></li>
  <li><p>I use AJAX (google clojure xhrio) quite regularly to retrieve data from the server. Could it be that data retrieval callbacks are cloggin my event pipeline?</p></li>
  <li><p>Are log console messages (console.log) known to slow down applications? Could they trigger the browser to rerun through the DOM tree or anything related?</p></li>
  </ul>