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 11:35:29 -0700
On Sep 28, 2007, at 11:27 AM, Scott Thompson wrote:
On Sep 28, 2007, at 12:53 PM, Wade Tregaskis wrote:
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.
Note that there is a practical limit to the size of an NSView,
beyond which all sorts of funkiness occurs (visible as drawing
artefacts) as a consequence of CoreGraphics using floats, and thus
having very much finite precision. It depends on your particular
code as to when exactly you'll see problems, but I wouldn't let
any view (inside a scrollview) get more than 10,000,000 pixels in
any dimension.
(I know that sounds huge, but it's pretty easy to naively hit if
you're not careful)
Are you sure about the magnitude of your dimension there? I was
under the impression (potentially mistaken) that the problems
started around 10,000 (ten thousand) instead of 10,000,000 (10
million).
Nope, it's somewhat less than 10 million but much much larger than 10
thousand. That's about the point where the "float" type no longer has
enough precision to represent individual pixels.
An IEEE binary float has 1 bit of sign, 8 bits of exponent, and 23
bits of fractional value. Which means you should be able to exactly
represent pixel values between +8,388,608 and -8,388,608. (2^23)
- Greg
_______________________________________________
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