deweese 02/01/29 14:24:32
Modified: sources/org/apache/batik/bridge RepaintManager.java
Log:
Slightly better sleep alg.
Revision Changes Path
1.3 +10 -2 xml-batik/sources/org/apache/batik/bridge/RepaintManager.java
Index: RepaintManager.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/RepaintManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RepaintManager.java 23 Jan 2002 14:14:07 -0000 1.2
+++ RepaintManager.java 29 Jan 2002 22:24:32 -0000 1.3
@@ -14,7 +14,7 @@
* This class manages the rendering of a GVT tree.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a>
- * @version $Id: RepaintManager.java,v 1.2 2002/01/23 14:14:07 deweese Exp $
+ * @version $Id: RepaintManager.java,v 1.3 2002/01/29 22:24:32 deweese Exp $
*/
public class RepaintManager extends Thread {
@@ -23,6 +23,8 @@
*/
protected UpdateManager updateManager;
+ long targetFrameTime = 50;
+
/**
* Creates a new repaint manager.
*/
@@ -39,8 +41,10 @@
* framerate because it's made the last few frames with the
* current frame-rate easily) */
public void run() {
+ long lastFrameTime, currentTime, tm, sleepTime;
try {
while (!Thread.currentThread().isInterrupted()) {
+ lastFrameTime = System.currentTimeMillis();
final UpdateTracker ut = updateManager.getUpdateTracker();
if (ut.hasChanged()) {
updateManager.getUpdateRunnableQueue().invokeAndWait
@@ -52,7 +56,11 @@
}
});
}
- sleep(40);
+ currentTime = System.currentTimeMillis();
+ tm = currentTime - lastFrameTime;
+ sleepTime = targetFrameTime-tm;
+ if (sleepTime > 0)
+ sleep(sleepTime);
}
} catch (InterruptedException e) {
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]