@@ -203,7 +203,6 @@ void xrCore::CalculateBuildId()
203203 buildId -= daysInMonth[i];
204204}
205205
206- // . why ???
207206#ifdef _EDITOR
208207BOOL WINAPI DllEntryPoint (HINSTANCE hinstDLL, DWORD ul_reason_for_call, LPVOID lpvReserved)
209208#else
@@ -212,24 +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:
216- {
217- _clear87 ();
218- _control87 (_PC_53, MCW_PC);
219- _control87 (_RC_CHOP, MCW_RC);
220- _control87 (_RC_NEAR, MCW_RC);
221- _control87 (_MCW_EM, MCW_EM);
222- }
223- // . LogFile.reserve (256);
224- break ;
225- case DLL_THREAD_ATTACH:
226- if (!strstr (GetCommandLine (), " -editor" ))
227- CoInitializeEx (nullptr , COINIT_MULTITHREADED);
228- timeBeginPeriod (1 );
229- break ;
230- case DLL_THREAD_DETACH: break ;
231- case DLL_PROCESS_DETACH:
232- 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 ;
233231 }
234232 return TRUE ;
235233}
0 commit comments