libGDX 最有效的睡眠方式

Most efficient way to sleep in libGDX

libGDX 最有效的睡眠方式是什么。在 Windows 中,有一种方法可以告诉应用程序等待来自 OS 的信号继续,这样程序就不必旋转一定的时间。有谁知道这叫什么?但更具体地说,libGDX 或 Java 中是否存在执行此操作的有效方法?我希望让我的应用程序占用空间尽可能小。

您可以设置非连续渲染,这样它只在您明确请求时才绘制 OpenGL 帧。如果您的游戏偶尔有一个完全静态的屏幕,这可以节省大量电池。调用它,图形将冻结:

Gdx.graphics.setContinuousRendering(false);

在此模式下,render() 仅在您调用 Gdx.graphics.requestRendering(); 时调用。所以你可以把这样的东西放在你的 render() 方法的末尾:

boolean shouldRender = (!animationsAreComplete || userJustTouchedScreen);

if (shouldRender) Gdx.graphics.requestRendering();

您可以随时重新打开连续渲染。