gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz ./TODO gfx/demo/mipzip.py gzz/client/Abstra...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz ./TODO gfx/demo/mipzip.py gzz/client/Abstra...
Date: Sat, 18 Jan 2003 08:30:59 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        03/01/18 08:30:58

Modified files:
        .              : TODO 
        gfx/demo       : mipzip.py 
        gzz/client     : AbstractUpdateManager.java 
        gzz/gfx/gl     : MipzipLoader.java 
        gzz/mem        : MemoryPartitioner.java 

Log message:
        More information... now sticky, need to rework event input with using X 
ConnectionNumber

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/TODO.diff?tr1=1.521&tr2=1.522&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/mipzip.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/AbstractUpdateManager.java.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/MipzipLoader.java.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/mem/MemoryPartitioner.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text

Patches:
Index: gzz/TODO
diff -u gzz/TODO:1.521 gzz/TODO:1.522
--- gzz/TODO:1.521      Fri Jan 17 09:37:17 2003
+++ gzz/TODO    Sat Jan 18 08:30:58 2003
@@ -252,7 +252,8 @@
          colors (not "not" tests but test that the 
          color really is right)
     tjl:
-       - connect mipzip to memoryconsumer
+       - X11 ConnectionNumber and select and pipe for lower latency
+         and interruptibility of event wait.
        - mipzip test program
        - xupdf: distorted multi-page PDF view with xu links
            - use mipzips
Index: gzz/gfx/demo/mipzip.py
diff -u gzz/gfx/demo/mipzip.py:1.3 gzz/gfx/demo/mipzip.py:1.4
--- gzz/gfx/demo/mipzip.py:1.3  Fri Jan 17 14:44:34 2003
+++ gzz/gfx/demo/mipzip.py      Sat Jan 18 08:30:58 2003
@@ -18,7 +18,7 @@
        self.mem = MemoryPartitioner(4 * 1024 * 1024)
        self.files = []
        self.tex = []
-       for f in glob.glob("../mstmpimg/*.mipzip")[0:10]:
+       for f in glob.glob("../mstmpimg/*.mipzip")[0:5]:
            ml = MipzipLoader(File(f))
            # ml.loadToBaseLevelSynch(0)
            mc = MipzipMemoryConsumer(self.mem, ml)
@@ -44,7 +44,7 @@
            TexCoord %(x1)s %(y0)s
            Vertex 1 0
            End
-       """ % { "x0" : 0, "y0" : 0, "x1": .5, "y1":.5 })
+       """ % { "x0" : .25, "y0" : .25, "x1": .5, "y1":.5 })
     def scene(self, vs):
        vs.map.put(background((.3,.7,.8)))
        AbstractUpdateManager.setNoAnimation()
Index: gzz/gzz/client/AbstractUpdateManager.java
diff -u gzz/gzz/client/AbstractUpdateManager.java:1.29 
gzz/gzz/client/AbstractUpdateManager.java:1.30
--- gzz/gzz/client/AbstractUpdateManager.java:1.29      Tue Jan 14 03:58:17 2003
+++ gzz/gzz/client/AbstractUpdateManager.java   Sat Jan 18 08:30:58 2003
@@ -41,7 +41,7 @@
  */
 
 public abstract class AbstractUpdateManager implements Runnable {
-public static final String rcsid = "$Id: AbstractUpdateManager.java,v 1.29 
2003/01/14 08:58:17 tjl Exp $";
+public static final String rcsid = "$Id: AbstractUpdateManager.java,v 1.30 
2003/01/18 13:30:58 tjl Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -338,14 +338,15 @@
      * @return true if something was done.
      */
     protected boolean doIdle() {
+       Runnable r;
        synchronized(queue) {
-           Runnable r = (Runnable)queue.getAndRemoveLowest();
-           if(r != null) {
-               if(dbg) pa("Updmanager idle: run "+r);
-               r.run();
-               if(dbg) pa("Updmanager idle: finished  run "+r);
-               return true;
-           }
+           r = (Runnable)queue.getAndRemoveLowest();
+       }
+       if(r != null) {
+           if(dbg) pa("Updmanager idle: run "+r);
+           r.run();
+           if(dbg) pa("Updmanager idle: finished  run "+r);
+           return true;
        }
        return false;
     }
@@ -392,6 +393,7 @@
 
                System.gc();
                // Wait for next event
+               if(dbg) pa("Updmanager: WAIT FOR EVENT!!!");
                handleEvents(true);
            }
            // Thread.yield(); // Again, try to let the evena thread have 
control.
Index: gzz/gzz/gfx/gl/MipzipLoader.java
diff -u gzz/gzz/gfx/gl/MipzipLoader.java:1.8 
gzz/gzz/gfx/gl/MipzipLoader.java:1.9
--- gzz/gzz/gfx/gl/MipzipLoader.java:1.8        Fri Jan 17 14:44:34 2003
+++ gzz/gzz/gfx/gl/MipzipLoader.java    Sat Jan 18 08:30:58 2003
@@ -201,10 +201,12 @@
                                Background bg, float priority) {
        if(dbg) pa("MipzipLoader "+this+" goal "+level+
                        " now at "+currentBaseLevel);
-       this.goalBaseLevel = level;
-       this.bg = bg;
-       this.priority = priority;
-       bg.addTask(r_runBg, priority);
+       if(level != goalBaseLevel) {
+           this.goalBaseLevel = level;
+           this.bg = bg;
+           this.priority = priority;
+           bg.addTask(r_runBg, priority);
+       }
     }
 
     private Runnable r_runBg = new Runnable() {
@@ -229,7 +231,8 @@
                try {
                    levels[i].loadData();
                    AbstractUpdateManager.doWhenIdle( 
-                           levels[i], priority);
+                           levels[i], priority - .1f * i);
+                   AbstractUpdateManager.chg();
                    bg.addTask(r_runBg, priority);
                } catch(IOException e) {
                    pa("Exception while loading mipzip data "+e);
@@ -246,10 +249,14 @@
     // If yes, discard and reschedule.
     // Then, set base level and return.
     synchronized private void runGL() {
-       if(dbg) pa("MipzipLoader "+this+" runGL!!");
+       if(dbg) pa("MipzipLoader "+this+" runGL!! "+
+                       goalBaseLevel);
        for(int i=0; i<goalBaseLevel && i < levels.length-1; 
                                                i++) {
            if(levels[i].state != STATE_NONE) {
+               if(dbg) pa("MipzipLoader "+this+" discard: "+
+                       i+" "+levels[i].state+" "+
+                       currentBaseLevel);
                if(currentBaseLevel <= i)
                    setBaseLevel(i+1);
                levels[i].discard();
@@ -258,13 +265,21 @@
                return;
            }
        }
+       if(dbg) pa("MipzipLoader "+this+" no discards");
 
        // Find first texture that has not been teximaged.
-       for(int i=levels.length-1; i >= goalBaseLevel && i >= 0;
+       int i = levels.length-1; 
+       for(;i >= goalBaseLevel && i >= 0;
                    i--) {
-           if(levels[i].state != STATE_INTEXTURE) {
-               setBaseLevel(i+1);
-           }
+           if(levels[i].state != STATE_INTEXTURE)
+               break;
+       }
+
+       if(dbg) pa("MipzipLoader "+this+" firstNotIn!! "+ i);
+       if(currentBaseLevel != i+1) {
+           setBaseLevel(i+1);
+           AbstractUpdateManager.chg();
+           return;
        }
     }
 
@@ -380,10 +395,20 @@
        }
        bitsPerTexel = GL.bitsPerTexel(texFormat);
        if(bitsPerTexel < 0) {
-           if(dbg) pa("Warning: memory consumption for "+texFormat+" not 
known, assuming 32bpt");
+           if(dbg) pa("Warning: memory consumption for "+
+                       texFormat+" not known, assuming 32bpt");
            bitsPerTexel = 32; 
        }
        currentBaseLevel = levels.length;
+    }
+
+    public String toString() {
+       StringBuffer b = new StringBuffer();
+       b.append(super.toString());
+       b.append("  ");
+       for(int i=0; i<levels.length; i++)
+           b.append(levels[i].state);
+       return b.toString();
     }
 
 }
Index: gzz/gzz/mem/MemoryPartitioner.java
diff -u gzz/gzz/mem/MemoryPartitioner.java:1.9 
gzz/gzz/mem/MemoryPartitioner.java:1.10
--- gzz/gzz/mem/MemoryPartitioner.java:1.9      Fri Jan 17 10:06:37 2003
+++ gzz/gzz/mem/MemoryPartitioner.java  Sat Jan 18 08:30:58 2003
@@ -170,7 +170,7 @@
                try {
                    if(dbg) pa("Going to rerate");
                    rerate();
-                   AbstractUpdateManager.chg();
+                   // AbstractUpdateManager.chg();
                    if(dbg) pa("rerated, sleeping");
                    Thread.sleep(50);
                } catch(Exception e) { 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]