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]

Reply via email to