void CEditorRenderDevice::InitTimer(){ Timer_MM_Delta = 0; { u32 time_mm = timeGetTime (); while (timeGetTime()==time_mm); // wait for next tick u32 time_system = timeGetTime (); u32 time_local = TimerAsync (); Timer_MM_Delta = time_system-time_local; } }
void CEditorRenderDevice::Reset () { u32 tm_start = TimerAsync(); Resources->reset_begin (); Memory.mem_compact (); HW.DevPP.BackBufferWidth= dwWidth; HW.DevPP.BackBufferHeight= dwHeight; HW.Reset (m_hRenderWnd); dwWidth = HW.DevPP.BackBufferWidth; dwHeight = HW.DevPP.BackBufferHeight; m_RenderWidth_2 = dwWidth * 0.5f; m_RenderHeight_2 = dwHeight * 0.5f; // fWidth_2 = float(dwWidth/2); // fHeight_2 = float(dwHeight/2); Resources->reset_end (); _SetupStates (); u32 tm_end = TimerAsync(); Msg ("*** RESET [%d ms]",tm_end-tm_start); }
void CRenderDevice::Run () { // DUMP_PHASE; g_bLoaded = FALSE; Log ("Starting engine..."); thread_name ("X-RAY Primary thread"); // Startup timers and calculate timer delta dwTimeGlobal = 0; Timer_MM_Delta = 0; { u32 time_mm = timeGetTime (); while (timeGetTime()==time_mm); // wait for next tick u32 time_system = timeGetTime (); u32 time_local = TimerAsync (); Timer_MM_Delta = time_system-time_local; } // Start all threads // InitializeCriticalSection (&mt_csEnter); // InitializeCriticalSection (&mt_csLeave); mt_csEnter.Enter (); mt_bMustExit = FALSE; thread_spawn (mt_Thread,"X-RAY Secondary thread",0,0); // Message cycle seqAppStart.Process (rp_AppStart); //CHK_DX(HW.pDevice->Clear(0,0,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,0),1,0)); m_pRender->ClearTarget (); message_loop (); seqAppEnd.Process (rp_AppEnd); // Stop Balance-Thread mt_bMustExit = TRUE; mt_csEnter.Leave (); while (mt_bMustExit) Sleep(0); // DeleteCriticalSection (&mt_csEnter); // DeleteCriticalSection (&mt_csLeave); }