encasing that thread work time takes too long in DEBUG
This commit is contained in:
parent
042802ab87
commit
68cdeddb73
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user