Re: Cocoa and Computational Expense
Re: Cocoa and Computational Expense
- Subject: Re: Cocoa and Computational Expense
- From: Graham Cox <email@hidden>
- Date: Mon, 22 Jun 2009 10:10:16 +1000
On 22/06/2009, at 8:08 AM, syntonica wrote:
The paradigm shift from all data available at all times with all the
globals you can eat to private data has been a difficult one to make
for me.
I think most people who move to object-oriented programming from a
classical programming background find this to some extent. But the
benefits are enormous, once you let go of the "all you can eat" model.
Much less fat, for one thing ;-)
1. The Field Editor is very expensive to use.
2. 1GHz of G4 just doesn't go as far as it used to.
The problem isn't so much the text editing itself, rather all the
graphical rendering that it needs to perform. Back in the 16K day,
characters appeared on a screen more or less because the hardware
performed that task, pulling characters from a character ROM in
response to the direct ascii value in a text buffer. The text editing
task much far simpler since a character and its glyph were effectively
synonymous and the editor could simply hand off to the text buffer to
get the characters displayed.
Now of course, we have a far, far more complex situation, with
unicode, multi-lingual text, bi-directonal text, totally random-access
editing (not just a line editor), live spell-checking, fractional
positioning, arbitrary attributes, glyphs are an abstraction from the
characters encoded, glyphs are stored as bezier paths and need to be
rasterized to the screen, anti-aliased with a variety of stylistic
effects... the list goes on. The text experience is far richer, but
the cost is a lot more processing power needed. The fact that you're
seeing it performed using only 25% of 1GHz isn't bad!
--Graham
_______________________________________________
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