I've been aware of the excessive drawing for some time -- it quite obvious if you turn off double buffering. Our recent notifications work also causes some excessive drawing. As I mentioned before, I think some of this might be eliminated if we don't dirty data when setting an attribute to a value it already has. Also, the wxWidgets often redraws an entire table when it shouldn't -- I suspect this might be a consequence of our constantly changing the header display. Finally, we have not optimized drawing to draw only the part of the table that has changed.

So, to summarize, we have lots of opportunity for improvement -- but it's still the case that drawing is far from the most important bottleneck in Chandler today.

John


Grant Baillie wrote:

Yesterday, after Andi's neat demo on "micro" performance in Chandler, I started thinking about app performance in general, and remembered an easy-to-run "macro" performance test. There are details in

<http://bugzilla.osafoundation.org/show_bug.cgi?id=2714>

but in summary, on the mac you can tell the graphics engine to highlight (with a yellow flash) each time a rectangle on screen gets drawn. Since drawing, especially when text is involved, can involve many CPU cycles, this is a useful thing to look at.

Enabling this for current Chandler shows that there's a lot of extra drawing going on: for example, tabbing between the Welcome Note title and content causes the entire Summary View to be redrawn.

Anyway, this kind of thing often shows up problems at many levels (eg, the model layer may be posting change notifications too often, or with too low a granularity; controller-type objects might be reloading widgets unnecessarily in response to user events; widgets themselves might not be restricting their drawing to dirtied regions, or may redraw multiple times).

Right now, the bug is in David S's capable hands for 0.6, but it's something that's worth tracking in future releases. It would also be interesting to know if similar behaviour can be seen on Windows/Linux.

--Grant

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to