[Dev] Chandler and drawing to the screen

Alec Flett alecf at osafoundation.org
Fri Mar 18 15:08:44 PST 2005


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




More information about the Dev mailing list