Skip to content

Commit 5abd566

Browse files
committed
Add some work on timeBeginPeriod.
1 parent 10a1478 commit 5abd566

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

src/xrCore/xrCore.cpp

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ void xrCore::CalculateBuildId()
203203
buildId -= daysInMonth[i];
204204
}
205205

206-
//. why ???
207206
#ifdef _EDITOR
208207
BOOL WINAPI DllEntryPoint(HINSTANCE hinstDLL, DWORD ul_reason_for_call, LPVOID lpvReserved)
209208
#else
@@ -212,12 +211,23 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD ul_reason_for_call, LPVOID lpvRese
212211
{
213212
switch (ul_reason_for_call)
214213
{
215-
case DLL_PROCESS_ATTACH: break;
216-
case DLL_THREAD_ATTACH:
217-
timeBeginPeriod(1);
218-
break;
219-
case DLL_THREAD_DETACH: break;
220-
case DLL_PROCESS_DETACH: break;
214+
/*
215+
По сути это не рекомендуемый Microsoft, но повсеместно используемый способ повышения точности
216+
соблюдения и измерения временных интревалов функциями Sleep, QueryPerformanceCounter,
217+
timeGetTime и GetTickCount.
218+
Функция действует на всю операционную систему в целом (!) и нет необходимости вызывать её при
219+
старте нового потока. Вызов timeEndPeriod специалисты Microsoft считают обязательным.
220+
Есть подозрения, что Windows сама устанавливает максимальную точность при старте таких
221+
приложений как, например, игры. Тогда есть шанс, что вызов timeBeginPeriod здесь бессмысленен.
222+
Недостатком данного способа является то, что он приводит к общему замедлению работы как
223+
текущего приложения, так и всей операционной системы.
224+
Ещё можно посмотреть ссылки:
225+
https://msdn.microsoft.com/en-us/library/vs/alm/dd757624(v=vs.85).aspx
226+
https://users.livejournal.com/-winnie/151099.html
227+
https://github.com/tebjan/TimerTool
228+
*/
229+
case DLL_PROCESS_ATTACH: timeBeginPeriod(1); break;
230+
case DLL_PROCESS_DETACH: timeEndPeriod (1); break;
221231
}
222232
return TRUE;
223233
}

0 commit comments

Comments
 (0)