目前,我正在为我的国际象棋游戏使用 SurfaceView 进行动画实验。我在模拟器中只得到大约 8 FPS。我画了一个棋盘和 32 个棋子并旋转所有东西(看看它有多平滑),我正在使用抗锯齿。在 Droid 上,我得到了大约 20FPS,所以它不是很流畅。是否可以在不使用OpenGL的情况下实现具有非常稀缺和简单动画的游戏?
这就是我每帧所做的:
// scale and rotate
matrix.setScale(scale, scale);
rotation += 3;
matrix.postRotate(rotation, 152, 152);
canvas = surfaceHolder.lockCanvas();
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.FILTER_BITMAP_FLAG));
canvas.setMatrix(matrix);
canvas.drawARGB(255, 255, 255, 255); // fill the canvas with white
for (int i = 0; i < sprites.size(); i++) {
sprites.get(i).draw(canvas); // draws chessboard and chess pieces
}