Re: fast blitting with Quartz
Re: fast blitting with Quartz
- Subject: Re: fast blitting with Quartz
- From: Greg Titus <email@hidden>
- Date: Fri, 28 Sep 2007 09:38:35 -0700
Hey Kenny,
(Long time no see!)
If you are using NSScrollView and NSClipView for your scrolling, then
this is all built in for you. (See -setCopiesOnScroll: in NSClipView,
which defaults to YES.) The clip view will do the blitting of your
view content that was already on screen, and the rectangle passed
into your view's -drawRect: method will just consist of the 1% of new
data. So all you need to do to be efficient is to just make sure that
you pay attention to the rectangle argument passed in to your -
drawRect: and only draw that rectangle.
Hope this helps,
- Greg
On Sep 28, 2007, at 9:28 AM, Kenny Leung wrote:
Hi All.
Part of this is more curiosity than anything, but I hope you will
indulge me.
The situation is this: I would like to have very fast on-screen
blitting to support a scrolling-chart like drawing.
In the old NeXTstep days of pswraps, there was this cool PostScript
operator called "composite" that would blit bits in the current
graphics context. So if you were doing a scrolling chart, you would
just have to composite the 99% of stuff you already had on-screen,
and draw the 1% of new data.
Question 1: Does anybody know of the current Quartz equivalent for
doing this? I image that the NSScrollView/NSClipView combination
knows how to do this, but I have not been able to find the function
to do it.
Question 2: If you can no longer do this, what would be an
efficient strategy to do this? Seems like the same could be
achieved using 2 NSImages - composite 99% from one to the other,
draw the 1%, composite on-screen, flip, rinse, lather, repeat. But
that seems high on both memory usage, and takes one more composite
than the optimal version.
Thanks for any insight into this!
-Kenny
P.S. If any of you remember my NeXTstep program KPerfmon, it used
this trick.
_______________________________________________
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