It would be really great if we had bugs for each of these issues - it
would give another contributor a place to help if they want to work on
performance stuff.
Alec
John Anderson wrote:
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
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev