Post by Adam MegaczThis 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
<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)