0

我有一个应用程序,目前,它运行一个循环,它更新游戏状态约 25 次/秒,并尝试以 40 次/秒的速度绘制它。更新工作正常,它显示的只是多一点 25。但在模拟器上,无论要绘制多少,游戏的绘制速度都低于 20 fps。即使我只将背景涂成绿色,它的 fps 也很低。

我将应用程序发送给在他的手机上对其进行测试的人,它以 40fps 的绘图速度和 25fps 的更新速度正常运行。

我在具有不同API级别的模拟器上对其进行了测试,绘图fps总是太慢。我使用日食。我是否必须对模拟器进行任何特殊设置?

还有另一个问题,在他的手机上测试它的人在启动应用程序时收到一条错误消息,它说应用程序不会做出反应以及等待和关闭的选项。等待 5-10 秒后,将显示内容视图。我创建内容视图并在方法中分配变量onCreate,而不启动循环。在onStart方法中我设置contentView并启动循环,但它运行一个空的while循环,直到我booleanonResume方法中设置a。有任何想法吗?

public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 view= new MainMenu(this); }

protected void onStart() { 
super.onStart(); 
this.setContentView(view); 
view.startGameView();
}

 public void startGameView() {
 loop=new GameLoop(this); 
loop.start();
 }

protected void onResume() {
 super.onResume();
 view.resumeGameView();
} 

public void resumeGameView() { 
loop.b_pause=false;//loop starts to execute code for drawing/updating
 }

活动更改的代码:

public void changeActivity(Class c, String str)
    {
        Intent i=new Intent(this, c);
        startActivity(i);       

    }
4

0 回答 0