private void Run() { FrameLimiter frameLimiter = new FrameLimiter( ActiveConfig.TickRate > 0 ? TimeSpan.FromMilliseconds(1000 / (double)ActiveConfig.TickRate) : TimeSpan.Zero); bool bRunning = true; while (bRunning) { Update(frameLimiter.LastFrameTime); frameLimiter.Throttle(); lock (m_StopRequestLock) { bRunning = !m_IsStopRequest; } } }
private void run() { FrameLimiter frameLimiter = new FrameLimiter(targetTickTime); bool bRunning = true; while (bRunning) { if (bRunning) { action(); } frameLimiter.Throttle(); lock (m_StopRequestLock) { bRunning = !m_bStopRequest; } } }