是否可以在 libGDX 中禁用帧限制?
2022-09-03 08:45:29
更具体地说,是一个桌面libGDX-LWJGL应用程序。有一些配置选项可以禁用CPU同步以及同步,但无论应用程序以60fps的速度运行。
这对于所有实际用途都很好 - 但出于好奇,如果没有别的,我想看看帧速率可以有多高。
更具体地说,是一个桌面libGDX-LWJGL应用程序。有一些配置选项可以禁用CPU同步以及同步,但无论应用程序以60fps的速度运行。
这对于所有实际用途都很好 - 但出于好奇,如果没有别的,我想看看帧速率可以有多高。
Rode Hyde的答案由于图书馆的变化而不再正确。试试这个:
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.vSyncEnabled = false; // Setting to false disables vertical sync
config.foregroundFPS = 0; // Setting to 0 disables foreground fps throttling
config.backgroundFPS = 0; // Setting to 0 disables background fps throttling
此外,如果可能,请确保 GPU 上的任何硬件 vsync 都已关闭,如前所述@RodHyde。
答案很大程度上取决于CPU和图形卡的速度,但是如果您在创建应用程序时尝试如下配置,并在图形卡上禁用vsync,那么这应该会非常努力。
LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.title = "Framerate test";
cfg.width = 1280;
cfg.height = 720;
cfg.fullscreen = false;
cfg.useGL20 = false;
cfg.useCPUSynch = false;
cfg.forceExit = true;
cfg.vSyncEnabled = false;
禁用 vsync 将位于图形卡设置中的某个位置。在我的nVidia卡上,它在选项中显示为“垂直同步”。它被设置为“自适应”,将帧速率限制在60fps,但是在将其设置为“关闭”之后,我看到>4000fps通过flas测量。