Prechádzať zdrojové kódy

Add CVAR_EXTERNED usage for SystemTick background cap cvar

Signed-off-by: puvvadar <[email protected]>
puvvadar 3 rokov pred
rodič
commit
c5672c2d31

+ 5 - 8
Code/Editor/CryEdit.cpp

@@ -2308,18 +2308,15 @@ int CCryEditApp::IdleProcessing(bool bBackgroundUpdate)
 
 
         // If we're backgrounded and not fully background updating, idle to rate limit SystemTick
         // If we're backgrounded and not fully background updating, idle to rate limit SystemTick
         static AZ::TimeMs sTimeLastMs = AZ::GetRealElapsedTimeMs();
         static AZ::TimeMs sTimeLastMs = AZ::GetRealElapsedTimeMs();
+        const int64_t maxFrameTimeMs = ed_backgroundSystemTickCap;
 
 
-        const auto console = AZ::Interface<AZ::IConsole>::Get();
-        AZ::TimeMs maxFrameTimeMs = AZ::TimeMs{ 1 };
-        console->GetCvarValue("ed_backgroundSystemTickCap", maxFrameTimeMs);
-
-        if (maxFrameTimeMs > AZ::TimeMs{ 0 })
+        if (maxFrameTimeMs > 0)
         {
         {
-            const AZ::TimeMs maxElapsedTimeMs = maxFrameTimeMs + sTimeLastMs;
-            const AZ::TimeMs realElapsedTimeMs = AZ::GetRealElapsedTimeMs();
+            const int64_t maxElapsedTimeMs = maxFrameTimeMs + static_cast<int64_t>(sTimeLastMs);
+            const int64_t realElapsedTimeMs = static_cast<int64_t>(AZ::GetRealElapsedTimeMs());
             if (maxElapsedTimeMs > realElapsedTimeMs)
             if (maxElapsedTimeMs > realElapsedTimeMs)
             {
             {
-                CrySleep(static_cast<unsigned int>(maxElapsedTimeMs - realElapsedTimeMs));
+                CrySleep(aznumeric_cast<unsigned int>(maxElapsedTimeMs - realElapsedTimeMs));
             }
             }
         }
         }
         sTimeLastMs = AZ::GetRealElapsedTimeMs();
         sTimeLastMs = AZ::GetRealElapsedTimeMs();

+ 1 - 3
Code/Editor/Settings.cpp

@@ -22,9 +22,7 @@
 #include <AzCore/Settings/SettingsRegistry.h>
 #include <AzCore/Settings/SettingsRegistry.h>
 #include <AzCore/Settings/SettingsRegistryMergeUtils.h>
 #include <AzCore/Settings/SettingsRegistryMergeUtils.h>
 #include <AzCore/StringFunc/StringFunc.h>
 #include <AzCore/StringFunc/StringFunc.h>
-#include <AzCore/Time/ITime.h>
 #include <AzCore/Utils/Utils.h>
 #include <AzCore/Utils/Utils.h>
-#include <AzCore/Console/IConsole.h>
 
 
 
 
 // AzFramework
 // AzFramework
@@ -834,7 +832,7 @@ void SEditorSettings::Load()
 //////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////
 AZ_CVAR(bool, ed_previewGameInFullscreen_once, false, nullptr, AZ::ConsoleFunctorFlags::IsInvisible, "Preview the game (Ctrl+G, \"Play Game\", etc.) in fullscreen once");
 AZ_CVAR(bool, ed_previewGameInFullscreen_once, false, nullptr, AZ::ConsoleFunctorFlags::IsInvisible, "Preview the game (Ctrl+G, \"Play Game\", etc.) in fullscreen once");
 AZ_CVAR(bool, ed_lowercasepaths, false, nullptr, AZ::ConsoleFunctorFlags::Null, "Convert CCryFile paths to lowercase on Open");
 AZ_CVAR(bool, ed_lowercasepaths, false, nullptr, AZ::ConsoleFunctorFlags::Null, "Convert CCryFile paths to lowercase on Open");
-AZ_CVAR(AZ::TimeMs, ed_backgroundSystemTickCap, AZ::TimeMs{ 33 }, nullptr, AZ::ConsoleFunctorFlags::Null,"Delay between frame updates (ms) when window is out of focus but not minimized AND background update is disabled.");
+AZ_CVAR(int64_t, ed_backgroundSystemTickCap, 33, nullptr, AZ::ConsoleFunctorFlags::Null,"Delay between frame updates (ms) when window is out of focus but not minimized AND background update is disabled.");
     
     
 void SEditorSettings::PostInitApply()
 void SEditorSettings::PostInitApply()
 {
 {

+ 2 - 0
Code/Editor/Settings.h

@@ -20,6 +20,7 @@
 #include <AzToolsFramework/Editor/EditorSettingsAPIBus.h>
 #include <AzToolsFramework/Editor/EditorSettingsAPIBus.h>
 #include <AzToolsFramework/Prefab/PrefabLoaderInterface.h>
 #include <AzToolsFramework/Prefab/PrefabLoaderInterface.h>
 #include <AzCore/JSON/document.h>
 #include <AzCore/JSON/document.h>
+#include <AzCore/Console/IConsole.h>
 
 
 #include <AzQtComponents/Components/Widgets/ToolBar.h>
 #include <AzQtComponents/Components/Widgets/ToolBar.h>
 
 
@@ -253,6 +254,7 @@ struct SSmartOpenDialogSettings
 //////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////
 /** Various editor settings.
 /** Various editor settings.
 */
 */
+AZ_CVAR_EXTERNED(int64_t, ed_backgroundSystemTickCap);
 AZ_PUSH_DISABLE_DLL_EXPORT_BASECLASS_WARNING
 AZ_PUSH_DISABLE_DLL_EXPORT_BASECLASS_WARNING
 struct SANDBOX_API SEditorSettings
 struct SANDBOX_API SEditorSettings
     : AzToolsFramework::EditorSettingsAPIBus::Handler
     : AzToolsFramework::EditorSettingsAPIBus::Handler