Re: packing engine now independent of numcols

Tupshin Harper <[email protected]> Wed, 07 Apr 2004 01:10:27 -0700
Newsgroups gmane.comp.java.xwt.core
Message-ID <[email protected]>
Adam Megacz wrote:

>This is a first.  The packing/constraining engine is now totally
>independent of the number of columns and depends only on the number of
>boxes.  The pre-simplex renderer could never do this.
>
>The following template renders just as fast as if you divide all the
>col/colspan's by 1,000:
>
>  <ui:box fill="blue" id="blue"                       cols="5000">
>      <ui:box width="10" id="a" fill="gray"           colspan="1000"/>
>      <ui:box height="10" fill="white" maxwidth="100" colspan="1000"/>
>      <ui:box height="10" fill="black" minwidth="100" colspan="2000"/>
>      <ui:box width="10" id="b" fill="gray"           colspan="1000"/>
>  </ui:box>
>
>  - 
>
>  
>
With those last couple of checkins, my games sampler (which mostly 
consists of a reversi board, at the moment), changed from suffering from 
bug 518, to having the following symptoms:
1) unless java is called with -Xmx512M (or thereabout, certainly 256M is 
not enough) it gives a Java.Lang.OutofmemoryError at startup
2) if called with -Xmx512M, it launches but I get the error below.

Unfortunately, I don't have the time to make a simple test case for the 
next couple days, but I thought  might as well let you know anyways. My 
widgets archive which includes the games sampler is at:
http://darcs.smallmerchant.com/ibex_widgets

The "test cas" is runnable by launching src/games.t in that archive.

-Tupshin
        org.ibex.Box: simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
                      simplex solver claims infeasibility; this should 
never happen
java.lang.Error: not enough rows; this should never happen
        at 
org.ibex.util.LinearProgramming$Simplex.add_constraint(LinearProgramming.java:373)
        at org.ibex.Box.place_children(Box.java:382)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Box.place_children(Box.java:461)
        at org.ibex.Surface.render(Surface.java:251)
        at org.ibex.Surface$DoubleBufferedSurface.render(Surface.java:351)
        at org.ibex.plat.AWT$AWTSurface.render(AWT.java:338)
        at org.ibex.Scheduler.renderAll(Scheduler.java:35)
        at org.ibex.Scheduler.defaultRun(Scheduler.java:79)
        at org.ibex.Scheduler.run(Scheduler.java:54)
        at org.ibex.Scheduler.init(Scheduler.java:17)
        at org.ibex.Main.main(Main.java:101)