summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLyuma <xn.lyuma@gmail.com>2022-03-29 00:01:31 -0700
committerLyuma <xn.lyuma@gmail.com>2022-03-29 00:01:31 -0700
commitee02a7f785b672304346028bc500949050432fa5 (patch)
tree081e6bd431b944d2e874aec09560dd3b42d7ee8b
parent29a946ee91b7a0ebfee35504436d177630c0924f (diff)
Keep editor at normal priority on windows.
The multithreaded importer often causes system-wide hangs when importing more than 20 files at a time. Running the editor at normal priority allows other applications on the system to be responsive during long imports.
-rw-r--r--platform/windows/display_server_windows.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index 16323dcc13..d73239614f 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -3626,7 +3626,11 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
}
#endif
- if (!OS::get_singleton()->is_in_low_processor_usage_mode()) {
+ if (!Engine::get_singleton()->is_editor_hint() && !OS::get_singleton()->is_in_low_processor_usage_mode()) {
+ // Increase priority for projects that are not in low-processor mode (typically games)
+ // to reduce the risk of frame stuttering.
+ // This is not done for the editor to prevent importers or resource bakers
+ // from making the system unresponsive.
SetPriorityClass(GetCurrentProcess(), ABOVE_NORMAL_PRIORITY_CLASS);
DWORD index = 0;
HANDLE handle = AvSetMmThreadCharacteristics("Games", &index);