diff options
author | Dave Parks <davep@lindenlab.com> | 2022-10-13 19:51:40 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2022-10-13 19:51:40 -0500 |
commit | ec5009d70eb0fd729126b2321b9d7d6118741573 (patch) | |
tree | 2cffe21857f9c74c775b988107147630f837392a /indra/llwindow/llwindowwin32.cpp | |
parent | 15c3c3f94d6d1b3007f3135602bf3f65dc791f57 (diff) |
SL-18190 Potential fix for sapping CPU when "sleeping"
Diffstat (limited to 'indra/llwindow/llwindowwin32.cpp')
-rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index aadf895271..6beb874e8c 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -66,6 +66,7 @@ #include <d3d9.h> #include <dxgi1_4.h> +#include <timeapi.h> // Require DirectInput version 8 #define DIRECTINPUT_VERSION 0x0800 @@ -4827,6 +4828,14 @@ void LLWindowWin32::LLWindowWin32Thread::run() initDX(); + //as good a place as any to up the MM timer resolution (see ms_sleep) + //attempt to set timer resolution to 1ms + TIMECAPS tc; + if (timeGetDevCaps(&tc, sizeof(TIMECAPS)) == TIMERR_NOERROR) + { + timeBeginPeriod(llclamp((U32) 1, tc.wPeriodMin, tc.wPeriodMax)); + } + while (! getQueue().done()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_WIN32; |