On Tuesday 13 Dec 2005 23:40, Guillaume Laurent wrote:
> No, it's something else. As I said I added a trace in
> viewportPaintEvent() on the redrawn rect that is computed by
> checkScrollAndRefreshDrawBuffer(), and it showed that the whole
> screen was redrawn with every pointer move [...] But looking at the
> traces of slotUpdate(), they don't show any global update request
> [...] So that would point to something wrong in
> checkScrollAndRefreshDrawBuffer(), but that's surprising.

No -- print out the arguments passed _to_ viewportPaintEvent, you'll 
find the event covers most or all of the visible area.

What I think is happening is simply that the paint event for the segment 
(which is wide and short) is being coalesced with the paint event for 
the pointer move (which is tall and thin) and the resulting rectangle 
union covers most of the window.  So all of that gets repainted.

Far better to have more than one viewportPaintEvent call.  I seem to 
remember some configurable options on the canvas view that might help?  
I'll take a look.  Failing that, we could potentially make 
setPointerPos call repaint directly instead of batching it into an 
update, but that might have undesirable consequences as well.


Chris


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to