encasing that thread work time takes too long in DEBUG

This commit is contained in:
ramapcsx2 2014-12-09 14:04:19 +01:00
parent 042802ab87
commit 68cdeddb73

View File

@ -1,5 +1,7 @@
package de.teamteamteam.spacescooter.thread; package de.teamteamteam.spacescooter.thread;
import de.teamteamteam.spacescooter.brain.GameConfig;
/** /**
* Since things like drawing the next image or triggering the next game tick * Since things like drawing the next image or triggering the next game tick
* need to happen in time, this TimedThread allows more precise timing * need to happen in time, this TimedThread allows more precise timing
@ -18,11 +20,6 @@ public abstract class TimedThread extends Thread {
*/ */
private long workTime; private long workTime;
/**
* This is a quick hack :)
*/
private long runloops;
/** /**
* This method sets the actual working interval based on hz. * This method sets the actual working interval based on hz.
* *
@ -37,7 +34,6 @@ public abstract class TimedThread extends Thread {
*/ */
public final void run() { public final void run() {
while (true) { while (true) {
this.runloops++;
long workStart = System.nanoTime(); long workStart = System.nanoTime();
// do the actual work // do the actual work
this.work(); this.work();
@ -47,9 +43,8 @@ public abstract class TimedThread extends Thread {
long timeToWait = this.workInterval - workTime; long timeToWait = this.workInterval - workTime;
//in case we are already running late, just print a warning and carry on! //in case we are already running late, just print a warning and carry on!
if(timeToWait < 0 && this.runloops > 50) { // runloops for filtering out game start delays if(timeToWait < 0) {
System.err.println("[" + this.getName() + "] workTime exceeds workInterval!:" + this.workTime + " > " + this.workInterval); if(GameConfig.DEBUG) System.err.println("[" + this.getName() + "] workTime exceeds workInterval!:" + this.workTime + " > " + this.workInterval);
runloops = 100; // overflow protect
continue; continue;
} }
long msToWait = timeToWait / 1000000; long msToWait = timeToWait / 1000000;