[英]What's the best format for an Android game for optimal performance?
我正在使用SurfaceView类编写一个小型Android游戏。 类别概述如下
class GameView extends SurfaceView implements Runnable {
Thread drawThread;
boolean drawThreadIsRunning;
Context context;
SurfaceHolder surfaceHolder;
Canvas canvas;
public GameView(Context context)
{
super(context)
this.context = context;
surfaceHolder = getHolder();
//...
}
public void resume() {
// starts drawing Thread
}
public void pause() {
// stops drawing Thread
}
public void run() {
while (drawThreadIsRunning) {
if (!surfaceHolder.getSurface().isValid())
continue;
canvas = surfaceHolder.lockCanvas();
update(canvas);
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
private void update(canvas)
{
updateCoordinates(canvas);
updateDrawings(canvas);
e.t.c.
}
}
我想知道的是,按照我的方式使用update()方法是否是一个好主意。 在画布的锁定和解锁之间,更新方法将移动游戏元素,绘制游戏元素,更新分数等。 这会对性能产生负面影响吗? 有没有更好的方法来构造这个?
对我来说很好。 您唯一可以做的就是将调用移至updateCoordinates();。 updateDrawings(); 等等到run()中,以节省该附加方法调用的开销,但不应引起明显的区别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.