On Wed, Jan 30, 2008 at 09:24:57PM +0100, Johannes Hofmann wrote:
On Wed, Jan 30, 2008 at 10:29:48AM -0300, Jorge Arellano Cid wrote:
On Tue, Jan 29, 2008 at 03:50:58PM +0000, Jeremy Henty wrote:
On Tue, Jan 29, 2008 at 02:39:17PM +0100, Diego . wrote:
After this effort maybe the "Rewrite of tables code" item on Plans page ( http://www.dillo.org/Plans.html) can change from yellow(prototype at least) to green (recently finished)
Sadly this may a little too hasty. I am currently investigating bugs in the handling of ROWSPAN. Also, my impression is that performance has badly degraded for tables with many rows.
Degraded since previous dillo2 or dillo1 version?
AFAIS, the main bottleneck in dillo2 still is too many redraw requests.
Yes, that's probabely true.
However, I currently don't see any low hanging fruit in this area. dillo1 also redraws all the time. It is just not visible because it draws to some offscreen area first and then copies the result to the screen. And what's more important, drawing was cheaper without antialiased fonts...
My feeling is exactly. One cheap way to avoid redraws is to throttle them at let say 3 seconds, and to force one when the parsing is done with the full page (close time). Another, cleaner approach, may be to avoid unnecessary redraw requests from the textblock and table widgets (or other source). I haven't investigated this in detail, but for instance, Textblock::wordWrap always sets "mustQueueResize = true". If the Textblock knows that the just added contents are out of the displayed area, and that it didn't grow wider/thiner, we may avoid the request until it is displayed, or page ends, whatever comes first. Disclaimer: these are just ideas, no proof of concept yet. -- Cheers Jorge.-