Question: Just wondering what the fastest way is to draw a bitmap to canvas?

Currently I have a bitmap (and canvas for drawing) which i use to double buffer drawing calls, and then when i draw to canvas have a scrolling effect by applying a 1px canvas translation. This alone will reduce the framerate from 60+ FPS to ~40, quite a hit. Im not using surfaceView (or GLSurfaceView) at the moment but just wondering if im missing anything that would improve the speed. onDraw() code below

```
@Override
    public void onDraw(Canvas canvas)
    {
        //update fps text
        mFpsTracker.frameTouch();

        if(mBufferedBitmap == null)
        {
            mBufferedBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_4444);
            mBufferedCanvas = new Canvas(mBufferedBitmap);
        }

        paint.setColor(Color.BLUE);
        mBufferedCanvas.drawLine(0, getHeight(), getWidth(), getHeight(), paint);
        mBufferedCanvas.translate(0, -1);

    canvas.drawBitmap(mBufferedBitmap, 0, 0, null); 

    //draw fps
    mTextPaint.setColor(Color.WHITE);
    canvas.drawText(mFpsTracker.getFPSString(), 40, 40, mTextPaint);

    invalidate();       
}

```

Answer: 
I got same problem as yours, please tell me when you found some thing new.

This is what I founded so far:

1. For android version > 3 better not to use double buffer, because you are getting hardware acceleration(need to set true in manifest)
2. set [paint.setDither(true)](http://developer.android.com/reference/android/graphics/Paint.html#setDither%28boolean%29) it will work better on any device with different color then ARGB\_4444, witch are most of the devices. [Check this out for more info](http://www.curious-creature.org/2010/12/08/bitmap-quality-banding-and-dithering/).
I think you can get good performance out of a canvas.. but it takes a lot of work.. 

if you start off with a good performance graphics library, then even if you get a lot of things wrong, you probably will still end up with good performance :) lol

there is a competition running for the fastest drawing library... libgdx is currently winning...

<http://code.google.com/p/libgdx/wiki/SimpleApp#Project_Setup>