2013-02-26 110 views
15

更具體地說,一個桌面libGDX-LWJGL應用程序。有配置選項可禁用CPU同步以及vsynching,但不管應用程序運行在60fps。是否可以在libGDX中禁用幀限制?

這適用於所有實際用途 - 但出於好奇如果沒有別的,我想看看幀率可以有多高。

回答

32

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 

另外,確保任何硬件VSYNC是關上你的GPU,如果可能的話,作爲@RodHyde提及。

+1

400 fps,但現在box2d太快 – 2014-06-01 10:00:28

+0

@Paul我會問#Libgdx(irc.freenode.net)或[libGDX論壇](http://www.badlogicgames.com/forum/) 。 – 2014-08-11 08:03:57

6

答案很大程度上取決於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,但將其設置爲「關閉」後,我看到> 012f> 4000fps。

+0

這工作完美。謝謝! – Mistodon 2013-02-26 23:39:36

3

cfg.useCPUSynch已經被拿出來了。設置cfg.foregroundFPS到一些大數目,而不是我的伎倆。

+0

這應該是@ RodHyde的回答。這在技術上是不正確的,因爲OP希望完全禁用幀限制。它也是不完整的,因爲你沒有提到vSyncEnabled和backgroundFPS。 – 2014-01-17 13:11:29

相關問題