aboutsummaryrefslogtreecommitdiff
path: root/src/client/clientenvironment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/clientenvironment.cpp')
-rw-r--r--src/client/clientenvironment.cpp11
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;
+ }
}