diff options
Diffstat (limited to 'src/client/clientenvironment.cpp')
-rw-r--r-- | src/client/clientenvironment.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/client/clientenvironment.cpp b/src/client/clientenvironment.cpp index 0070fa82f..d9b88eb4a 100644 --- a/src/client/clientenvironment.cpp +++ b/src/client/clientenvironment.cpp @@ -531,8 +531,13 @@ void ClientEnvironment::updateFrameTime(bool is_paused) { // if paused, m_frame_time_pause_accumulator increases by dtime, // otherwise, m_frame_time increases by dtime - if (is_paused) + if (is_paused) { + m_frame_dtime = 0; m_frame_time_pause_accumulator = porting::getTimeMs() - m_frame_time; - else - m_frame_time = porting::getTimeMs() - m_frame_time_pause_accumulator; + } + else { + auto new_frame_time = porting::getTimeMs() - m_frame_time_pause_accumulator; + m_frame_dtime = new_frame_time - MYMAX(m_frame_time, m_frame_time_pause_accumulator); + m_frame_time = new_frame_time; + } } |