Re: fast blitting with Quartz
Re: fast blitting with Quartz
- Subject: Re: fast blitting with Quartz
- From: Kenny Leung <email@hidden>
- Date: Fri, 28 Sep 2007 09:49:08 -0700
Hi Greg.
I suppose should be no problem to letting the size of the view grow
to infinity - as long as I'm not drawing any more of it. I guess I
just have to get over the mental hurdle.
Thanks!
-Kenny
On Sep 28, 2007, at 9:38 AM, Greg Titus wrote:
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