Просто интересно, какой самый быстрый способ - нарисовать растровое изображение на холсте?
В настоящее время у меня есть растровое изображение (и холст для рисования), который я использую для дублирования вызовов рисования буфера, а затем, когда я рисую на холст, есть эффект прокрутки, применяя трансляцию холста 1px. Это само по себе уменьшит частоту кадров от 60+ FPS до ~ 40, что вполне достаточно. Im не использует surfaceView (или GLSurfaceView) на данный момент, а просто задается вопросом, не потеряет ли Im что-нибудь, что улучшит скорость. 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();
}