[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] fenfire/org/fenfire/spanimages/gl PoolManager.java
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] fenfire/org/fenfire/spanimages/gl PoolManager.java |
Date: |
Thu, 26 Jun 2003 04:54:18 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Tuomas J. Lukka <address@hidden> 03/06/26 04:54:18
Modified files:
org/fenfire/spanimages/gl: PoolManager.java
Log message:
Allow locking singleimgs to loaded
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/PoolManager.java.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
Patches:
Index: fenfire/org/fenfire/spanimages/gl/PoolManager.java
diff -u fenfire/org/fenfire/spanimages/gl/PoolManager.java:1.6
fenfire/org/fenfire/spanimages/gl/PoolManager.java:1.7
--- fenfire/org/fenfire/spanimages/gl/PoolManager.java:1.6 Tue Jun 24
07:11:52 2003
+++ fenfire/org/fenfire/spanimages/gl/PoolManager.java Thu Jun 26 04:54:18 2003
@@ -43,6 +43,8 @@
public float DICELENGTH2 = 1;
public int DICEDEPTH = 10;
+ public int MIN_ACTIVES = 20; // minimum number to retain actively
+
Set activeSet = Collections.synchronizedSet(new HashSet());
class MySIV extends AbstractVob implements SpanImageVob {
@@ -94,6 +96,7 @@
siv.sx0 = sx0; siv.sx1 = sx1; siv.sy0 = sy0; siv.sy1 = sy1;
+ activeSet.add(i);
if(dbg)
p("Makevob: "+mult+" "+w+" "+h);
@@ -144,6 +147,11 @@
bgThread.start();
}
+ /** A set of singleimages that are to be locked at
+ * maximum resolution.
+ */
+ public Set locked = Collections.synchronizedSet(new HashSet());
+
SingleImage[] templ = new SingleImage[0];
public void updateAllocs() {
SingleImage[] actives = (SingleImage[])activeSet.toArray(templ);
@@ -155,6 +163,12 @@
actives[i].updateTime(time);
}
for(int i=0; i<actives.length; i++) {
+ if(locked.contains(actives[i])) {
+ actives[i].loader.setGoalBaseLevel(0,
+ Background.getDefaultInstance(),
+ 1);
+ continue;
+ }
int l = 0;
if(dbg) p("Loop: "+i+" "+actives.length);
for(; l < actives[i].missingPixels.length; l++) {
@@ -175,7 +189,7 @@
actives[i].loader.setGoalBaseLevel(l,
Background.getDefaultInstance(),
(float)(10 + .1 * i));
- if(l == actives[i].loader.getNLevels()-1)
+ if(i >= MIN_ACTIVES && l == actives[i].loader.getNLevels()-1)
activeSet.remove(actives[i]);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] fenfire/org/fenfire/spanimages/gl PoolManager.java,
Tuomas J. Lukka <=