Re: Dirty rects getting merged together makes for inefficient drawing
Re: Dirty rects getting merged together makes for inefficient drawing
- Subject: Re: Dirty rects getting merged together makes for inefficient drawing
- From: Andy Lee <email@hidden>
- Date: Mon, 19 Oct 2009 18:53:29 -0400
On Monday, October 19, 2009, at 05:58PM, "Ben Haller" <email@hidden> wrote:
>On 19-Oct-09, at 5:27 PM, Dave Keck wrote:
>
>> Would NSView's -getRectsBeingDrawn:count: help?
>
> Well, I'm already using it in my own code where appropriate. (Or
>actually I'm using -needsToDrawRect:). But the problem is that a
>whole bunch of NSTableView cells are getting drawn that never got
>invalidated. I would certainly hope that NSTableView is using one of
>these minimal-drawing mechanisms, and I assume that it is.
>
> I think the problem is deeper (based upon what flashes under Quartz
>Debug): I think the dirty rects are actually getting consolidated such
>that NSTableView no longer has the information it needs to do minimal
>drawing.
To test this theory, might it help to use a subclass of NSTableView whose drawRect: method prints the rectangle passed to it, and see what happens when your graph views do and do not do any drawing? And maybe the result of getRectsBeingDrawn:count: as well?
I'm curious too if you've tried Greg Guerin's suggestion.
--Andy
> I could be mistaken about that, though, if the flashes in
>Quartz Debug show only the area that Quartz is choosing to blit over,
>and not necessarily the area that was considered dirty and redrawn.
>(i.e. if it brings over merged areas for efficiency, for some reason;
>but that seems unlikely...)
>
>Ben Haller
>Stick Software
>
>_______________________________________________
>
>Cocoa-dev mailing list (email@hidden)
>
>Please do not post admin requests or moderator comments to the list.
>Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
>Help/Unsubscribe/Update your Subscription:
>
>This email sent to email@hidden
>
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden