Skip to content

Commit 9ff1917

Browse files
committed
Merge remote-tracking branch 'origin/intorr_dev' into xd_dev
2 parents d39c7f0 + 5abd566 commit 9ff1917

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

src/xrCore/xrCore.cpp

Lines changed: 17 additions & 19 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,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

Comments
 (0)