Android, самый быстрый способ нарисовать растровое изображение на холсте

Просто интересно, какой самый быстрый способ - нарисовать растровое изображение на холсте?

В настоящее время у меня есть растровое изображение (и холст для рисования), которое я использую для удвоения буферизации вызовов рисования, а затем, когда я рисую на холсте, получаю эффект прокрутки, применяя перевод холста 1px. Одно только это снизит частоту кадров с 60+ FPS до ~ 40, что весьма неплохо. Я не использую SurfaceView (или GLSurfaceView) в данный момент, но просто задаюсь вопросом, не упустил ли я что-нибудь, что улучшило бы скорость. Код onDraw () ниже

@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();       
}
13
задан Jonas 28 July 2011 в 09:10
поделиться