Carbon QuickTime Framework the Cause of Slowdowns?
Yes folks, iPhoto, Keynote, iMovie 3...they all seemed like slow Cocoa apps...but the real culprit was the use of the old QuickTime framework inside these apps. I don't have hard proof except for the fact that QT 6.3 boosts speeds of all 3 of these apps tremendously without the need to upgrade them. In fact, any app that uses QuickTime for movies or images flies now.
Yes folks...iPhoto sucks no more! It's fast. How fast? Way, way faster than before. I don't know how fast iView is 'cuz I've never tried it'd be cool to hear from the people that have iView.
Yes folks...iPhoto sucks no more! It's fast. How fast? Way, way faster than before. I don't know how fast iView is 'cuz I've never tried it'd be cool to hear from the people that have iView.
Comments
These apps are all the same speed for me with QT 6.3 as they were with QT 6.2. Perhaps your system got a little pep due to the prebinding and fresh restart?
Originally posted by Brad
What?
These apps are all the same speed for me with QT 6.3 as they were with QT 6.2. Perhaps your system got a little pep due to the prebinding and fresh restart?
Nah...iPhoto is definitely much faster.
iMovie might just be faster because it's part of their improvements and pweaks in version 3.03. Can't tell you about Keynote.
I've noticed that adding QT stuff to some of my fast apps, notably OmniGraffle and Create, does slow them quite a bit, but I figured that it's the nature of manipulating movies in documents. It might be a placebo effect, but the movies do seem to be easier to handle in those apps tonight.
Barto
Originally posted by Barto
Tell me kip kap sol, do you suspect that Cabon is the cause of this? Is that why "Carbon" is in the thread title? I would hate to have any... unfortunate misunderstandings.
Barto
Could be?
I was originally going to go into a rant about Carbon but I figured I shouldn't since they managed to get it to work well with Cocoa apps.
Originally posted by kim kap sol
Could be?
I was originally going to go into a rant about Carbon but I figured I shouldn't since they managed to get it to work well with Cocoa apps.
I think you find that Carbon is not the source of the slowness. In fact it could well be faster since it doesn't have some of the overheads of Cocoa. Also several of the NS classes are just wrappers for Carbon things. Oh and one more thing many things can only be done in Carbon. This all coming from someone who programs Cocoa.
WM
Originally posted by WJMoore
I think you find that Carbon is not the source of the slowness. In fact it could well be faster since it doesn't have some of the overheads of Cocoa. Also several of the NS classes are just wrappers for Carbon things. Oh and one more thing many things can only be done in Carbon. This all coming from someone who programs Cocoa.
WM
I'm well aware that Carbon is lower-level than Cocoa. But thanks for sharing.
There are things that can only be done in CoreFoundation too. There are GUI things that can only be done in Cocoa. It all balances out.
Originally posted by kim kap sol
I'm well aware that Carbon is lower-level than Cocoa. But thanks for sharing.
There are things that can only be done in CoreFoundation too. There are GUI things that can only be done in Cocoa. It all balances out.
Isn't core foundation simply what other APIs (Carbon, Cocoa, OpenGL, OpenAL) run on, and not accessed by applications directly?
I challange you to name a single GUI "thing" that can't be done in Carbon.
Barto
Originally posted by kim kap sol
Yes folks, iPhoto, Keynote, iMovie 3...they all seemed like slow Cocoa apps...but the real culprit was the use of the old QuickTime framework inside these apps. I don't have hard proof except for the fact that QT 6.3 boosts speeds of all 3 of these apps tremendously without the need to upgrade them. In fact, any app that uses QuickTime for movies or images flies now.
Yes folks...iPhoto sucks no more! It's fast. How fast? Way, way faster than before. I don't know how fast iView is 'cuz I've never tried it'd be cool to hear from the people that have iView.
Could be that QT 6.3 is faster and thus apps using it are.
However, that has nothing to do with Carbon vs. Cocoa.
Originally posted by Barto
I challange you to name a single GUI "thing" that can't be done in Carbon.
Barto
Drawers. (Plus those Cocoa plug-in thingies like CocoaGestures, but there aren't too many things to list.)
Originally posted by BuonRotto
Drawers.
http://developer.apple.com/techpubs/...ection_30.html
Compare the URL to the contents
(Plus those Cocoa plug-in thingies like CocoaGestures, but there aren't too many things to list.)
True, NeXT-style Services are still a domain of Cocoa (I think).
Services are available to Carbon apps as of Jaguar. As with all things Carbon, however, they have to be explicitly coded to support them.
There's enough cruft in QuickTime at this point that all kinds of things could have been sped up without touching any system APIs at all. Almost all of your significant performance improvements are going to come from algorithmic improvements (ie., improvements to the logic of the code, or optimizations for the way a particular platform works).
However there are ways to insert new code into various apps that Unsanity has developed. Default Folder accomplishes much of what it did in Classic Mac OS in just about all Mac OS X apps.
As to the Carbon vs. Cocoa b.s. which is the obvious hidden meaning in this worthless thread:
Cocoa is built on top of Core Foundation AND Carbon. Deal with it. Both apps use the same window server (which uses many Carbon APIs), they use the same networking, the same filesystems, the same graphics (Core Graphics), the same QuickTime and OpenGL features.
There are many areas that Cocoa does not reach and you MUST use Carbon APIs (QuickTime, Text to Speech).
Carbon apps can have Services, but not to the same extent as Cocoa apps. Many of the features of services are actually duplicated in other Carbon APIs (QuickTime image file importing vs. services plugins to allow Cocoa apps to load image files).
And yes Carbon apps can use Toolbars and Drawers in Jaguar.
About the only significant difference between Cocoa and Carbon is in the List View control which is seriously underpowered in Carbon (I personally believe its deliberate neglect) compared to Cocoa. Alternating colors and a overall better look is found in Cocoa apps List View. iTunes is about the only Carbon app that has a list view that actually looks good (and it is a custom job).
This Carbon vs. Cocoa discussion also inevitably leads to a Finder is bad, Finder is Carbon therefore Carbon sucks theme.
The Finder sucks because of its design and implementation, not because it is Carbon. Finder is doing a LOT of work that you don't see and is inefficient at it (caching data when it could be faster to just reload it every time). And by not updating when something happens it appears "slow" when its merely an intended feature to reduce CPU load.
I would say the real tragedy of OS X is the Open/Save windows compared to Mac OS 9. Have you ever tried to figure out where you where in a folder tree (suppose to mirror a web server on a local disk)? You have to scroll left to the root to see which disk you are in as the menu is a frickin' SHORTCUT function instead of the original PATH function.
Default Folder fixes a lot of this, but it merely restores ORIGINAL functionality. THAT is stupid. The Finder can be replaced (and will be, hopefully).