From 2e34a2abd91a448a6ed06c3dada8438e18644833 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Wed, 2 Mar 2022 16:54:59 +0100 Subject: [PATCH] Fix render timer breaking when system time changes (fixes #633) Unlike `currentTimeMillis`, `nanoTime` is guaranteed to be relative to a fixed point in time, regardless of system or wall-clock time. --- src/main/java/com/replaymod/render/gui/GuiVideoRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/replaymod/render/gui/GuiVideoRenderer.java b/src/main/java/com/replaymod/render/gui/GuiVideoRenderer.java index bc69f061..cd9c6268 100644 --- a/src/main/java/com/replaymod/render/gui/GuiVideoRenderer.java +++ b/src/main/java/com/replaymod/render/gui/GuiVideoRenderer.java @@ -141,7 +141,7 @@ public class GuiVideoRenderer extends GuiScreen implements Tickable { @Override public void tick() { - long current = System.currentTimeMillis(); + long current = System.nanoTime() / 1_000_000; //first, update the total render time (only if rendering is not paused and has already started) if(!renderer.isPaused() && renderer.getFramesDone() > 0 && prevTime > -1) {