Merge branch 'master' of https://github.com/teamteamteam/SpaceScooter
This commit is contained in:
commit
f75a93b5cf
|
@ -18,6 +18,11 @@ 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.
|
||||||
*
|
*
|
||||||
|
@ -32,6 +37,7 @@ 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();
|
||||||
|
@ -41,8 +47,9 @@ 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) {
|
if(timeToWait < 0 && this.runloops > 50) { // runloops for filtering out game start delays
|
||||||
System.err.println("[" + this.getName() + "] workTime exceeds workInterval!:" + this.workTime + " > " + this.workInterval);
|
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