From afc4435f25a28908ffbb7fb4eeda6e1b819326fa Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 29 Jun 2022 16:16:54 +0900 Subject: [PATCH] idle fps configurable via config file --- src/net/torvald/terrarum/App.java | 10 ++++++---- src/net/torvald/terrarum/DefaultConfig.kt | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/net/torvald/terrarum/App.java b/src/net/torvald/terrarum/App.java index 29339f7cf..cc5996846 100644 --- a/src/net/torvald/terrarum/App.java +++ b/src/net/torvald/terrarum/App.java @@ -360,10 +360,12 @@ public class App implements ApplicationListener { appConfig.useVsync(getConfigBoolean("usevsync")); appConfig.setResizable(false); appConfig.setWindowedMode(width, height); - int fps = Math.min(GLOBAL_FRAMERATE_LIMIT, getConfigInt("displayfps")); - if (fps <= 0) fps = GLOBAL_FRAMERATE_LIMIT; - appConfig.setIdleFPS(fps); - appConfig.setForegroundFPS(fps); + int fpsActive = Math.min(GLOBAL_FRAMERATE_LIMIT, getConfigInt("displayfps")); + if (fpsActive <= 0) fpsActive = GLOBAL_FRAMERATE_LIMIT; + int fpsBack = Math.min(GLOBAL_FRAMERATE_LIMIT, getConfigInt("displayfpsidle")); + if (fpsBack <= 0) fpsBack = GLOBAL_FRAMERATE_LIMIT; + appConfig.setIdleFPS(fpsBack); + appConfig.setForegroundFPS(fpsActive); appConfig.setTitle(GAME_NAME); //appConfig.forceExit = true; // it seems KDE 5 likes this one better... // (Plasma freezes upon app exit. with forceExit = true, it's only frozen for a minute; with forceExit = false, it's indefinite) diff --git a/src/net/torvald/terrarum/DefaultConfig.kt b/src/net/torvald/terrarum/DefaultConfig.kt index 09a062a6d..b8a90e62e 100644 --- a/src/net/torvald/terrarum/DefaultConfig.kt +++ b/src/net/torvald/terrarum/DefaultConfig.kt @@ -11,6 +11,7 @@ object DefaultConfig { val hashMap = hashMapOf( "displayfps" to 0, // 0: no limit, non-zero: limit + "displayfpsidle" to 0, // 0: no limit, non-zero: limit "displaycolourdepth" to 8, "usevsync" to false, "screenwidth" to TerrarumScreenSize.defaultW,