Guten Abend allerseits,
ich sitze momentan an einem etwas größeren Spiel und hänge gerade am Game Loop.
Das while(true) im folgenden Code wird später selbstverständlich durch etwas angemessenes ersetzt. Mir geht es momentan darum, dass wenn ich die vergangene Zeit bei jeder Iteration ausgebe, sinnvolle Werte herauskommen, aber sobald ich die Werte jede Sekunde ausgebe, kommen sehr unterschiedliche und unsinnige Zahlen heraus. (Ausschnitt: 0, 321, 0, 320, 0, 321, 31753, 0, 0, 321, 0- normal wären bei meinem Computer Zahlen um die 2500)
ich sitze momentan an einem etwas größeren Spiel und hänge gerade am Game Loop.
Das while(true) im folgenden Code wird später selbstverständlich durch etwas angemessenes ersetzt. Mir geht es momentan darum, dass wenn ich die vergangene Zeit bei jeder Iteration ausgebe, sinnvolle Werte herauskommen, aber sobald ich die Werte jede Sekunde ausgebe, kommen sehr unterschiedliche und unsinnige Zahlen heraus. (Ausschnitt: 0, 321, 0, 320, 0, 321, 31753, 0, 0, 321, 0- normal wären bei meinem Computer Zahlen um die 2500)
Java:
public static void main(String[] args) {
long lastTime = System.nanoTime();
long time_now = 0;
long dt = 0;
long timer = System.currentTimeMillis();
while(true) {
time_now = System.nanoTime();
dt = time_now - lastTime;
lastTime = time_now;
if(System.currentTimeMillis() >= (timer + 1000)) {
System.out.println("dt: " + dt + "ns");
timer = System.currentTimeMillis();
}
}
}