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]