默认情况下,在libgdx中,渲染线程会持续调用ApplicationListener类的render()方法,其频率取决于您的硬件(每秒30-50-80次)。
如果您的游戏中有许多静止场景(例如一个纸牌游戏),您可以通过禁用连续渲染来节省宝贵的电池电量,并且只有在您真正需要时才调用它。
要实现上述的功能很简单,所有你需要做的是将以下行放在你的ApplicationListener的create()方法中
Gdx.graphics.setContinuousRendering(false);
Gdx.graphics.requestRendering();
第一行告诉游戏停止自动调用render()方法。
第二行触发一次render()方法。
当你想手动渲染时,你必须经常性使用第二行.
如果连续渲染设置为false,则只有在以下情况发生时才会调用render()方法。
- 触发输入事件
- 调用了Gdx.graphics.requestRendering()
- 调用了Gdx.app.postRunnable()
UI操作:许多操作(如默认淡入淡出对话框)需要持续刷新界面来展示动画,因此它将代表您调用Gdx.graphics.requestRendering()。 这是默认启用的。 要禁用它,可以调用:
Stage.setActionsRequestRendering(false);
引申阅读:
Good article about this topic
Official libgdx blog post