From 7a79c19c9825bbb9c9bf8c3f6ef5ea22fb98b34f Mon Sep 17 00:00:00 2001 From: Antoine Date: Wed, 19 May 2021 19:08:09 +0200 Subject: [PATCH] added framerate control --- src/engine/Engine.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/engine/Engine.java b/src/engine/Engine.java index 2855d5d..593aa05 100644 --- a/src/engine/Engine.java +++ b/src/engine/Engine.java @@ -151,11 +151,14 @@ public class Engine { smiley2.translate(new Vector3f(0.0f,0.0f,10.0f)); long timer = System.currentTimeMillis(); + long lastFrame = System.currentTimeMillis(); int frame = 0; + boolean nextFrame = false; while(engine.isRunning()){ // Game logic should fit here double time = glfwGetTime(); + lastFrame = System.currentTimeMillis(); smiley.translate(new Vector3f( (float) Math.sin(time), (float) Math.cos(time), 0.0f)); @@ -173,6 +176,11 @@ public class Engine { frame = 0; } + while(!nextFrame){ + nextFrame = System.currentTimeMillis() - lastFrame >= 16.66f; + } + + nextFrame = false; if(engine.shouldClose()) engine.setRunning(false); } }