Просто интересно, какой самый быстрый способ - нарисовать растровое изображение на холсте?
В настоящее время у меня есть растровое изображение (и холст для рисования), которое я использую для удвоения буферизации вызовов рисования, а затем, когда я рисую на холсте, получаю эффект прокрутки, применяя перевод холста 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();
}