LibGDX输入模块之连续和非连续渲染

默认情况下,在libgdx中,渲染线程会持续调用ApplicationListener类的render()方法,其频率取决于您的硬件(每秒30-50-80次)。

如果您的游戏中有许多静止场景(例如一个纸牌游戏),您可以通过禁用连续渲染来节省宝贵的电池电量,并且只有在您真正需要时才调用它。

要实现上述的功能很简单,所有你需要做的是将以下行放在你的ApplicationListener的create()方法中

Gdx.graphics.setContinuousRendering(false);
Gdx.graphics.requestRendering();

第一行告诉游戏停止自动调用render()方法。
第二行触发一次render()方法。
当你想手动渲染时,你必须经常性使用第二行.

如果连续渲染设置为false,则只有在以下情况发生时才会调用render()方法。

  1. 触发输入事件
  2. 调用了Gdx.graphics.requestRendering()
  3. 调用了Gdx.app.postRunnable()

UI操作:许多操作(如默认淡入淡出对话框)需要持续刷新界面来展示动画,因此它将代表您调用Gdx.graphics.requestRendering()。 这是默认启用的。 要禁用它,可以调用:

Stage.setActionsRequestRendering(false);

引申阅读:
Good article about this topic
Official libgdx blog post

你可能感兴趣的:(LibGDX输入模块之连续和非连续渲染)