title: Drawing rotated Bitmaps on Canvas is slow: any other options?
body: <p>I'm developing a live wallpaper app which will draw an analog clock. So far I reached the point where I draw a clock using three bitmaps: dial, hour hand, minute hand. </p>
  
  <p>When I draw hours and minutes I do it like this (pseudo code):</p>
  
  <pre><code>// without this it looks weird after rotate
  Paint smoothPaint = new Paint(FILTER_BITMAP_FLAG);
  canvas.drawBitmap(dialBitmap, 0, 0, null);
  
  canvas.rotate(ANGLE_FOR_HOUR_HAND, w/2, h/2);
  canvas.drawBitmap(hourBitmap, 0, 0, smoothPaint);
  
  canvas.rotate(ANGLE_FOR_MINUTE_HAND, w/2, h/2);
  canvas.drawBitmap(minuteBitmap, 0, 0, smoothPaint);
  </code></pre>
  
  <p>This works okay except that I'm getting a really low frame rate: about 13 fps.
  If I turn off bitmap filtering, it increases to about 24 fps, but still low for me.</p>
  
  <p>I know that 2d drawing on Canvas is not accelerated in any way, but still want to ask are there any other options for me to speed up this code? Drawing to bitmap natively somehow? Something else maybe?</p>
  
  <p>Using OpenGL is an option, but its not that simple since LiveWallpapers do not support GL drawing, so I need to use 3rd party hacks (which I know exist) for that which I would rather not do...</p>