Re: Scrolling Text Algorithm for a Screen Saver
Re: Scrolling Text Algorithm for a Screen Saver
- Subject: Re: Scrolling Text Algorithm for a Screen Saver
- From: Ricky Sharp <email@hidden>
- Date: Mon, 30 Oct 2006 07:44:08 -0600
On Oct 30, 2006, at 6:26 AM, Alastair Houghton wrote:
On 30 Oct 2006, at 09:34, Doug Fort wrote:
I'm working on a screen saver. It involves scrolling text across the
screen. I'm using the simplest algorithm I could think of: calls to
NSString drawAtPoint:withAttributes: with the point moving a fixed
offset at each call to animateOneFrame. This works Ok at low
scrolling
speeds, but at higher speeds (i.e. a larger offset), the motion
appears jerky.
I'm working on improving my code to minimize the amount of
computation
in animateOneFrame. However, if anyone can suggest a better algorithm
for scrolling text, I'd appreciate it.
Using NSString's drawing methods will be inefficient because it
will re-do the text layout every time. You should probably look at
using the Cocoa Text system's NSLayoutManager object to do the
layout once and then you can render the string over and over again
with much lower overhead.
An alternative to that might be to render it once into a bitmap,
and scroll the bitmap across the display instead. That approach
would also mean you could use OpenGL if you wanted rather than Quartz.
And you can get really fancy by adding in motion blur (depending upon
the speed of the scrolling). I haven't done this myself, but I
believe this is doable via CoreImage.
___________________________________________________________
Ricky A. Sharp mailto:email@hidden
Instant Interactive(tm) http://www.instantinteractive.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden