Carbon QuickTime Framework the Cause of Slowdowns?

Posted:
in Mac Software edited January 2014
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.

Comments

  • Reply 1 of 13
    ghost_user_nameghost_user_name Posts: 22,667member
    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?
  • Reply 2 of 13
    kim kap solkim kap sol Posts: 2,987member
    Quote:

    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.
  • Reply 3 of 13
    buonrottobuonrotto Posts: 6,368member
    iPhoto is noticably faster at start-up. It still takes a while to load the library for my images, it probably went from something like 30 seconds to do it last night to maybe 10 tonight.



    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.
  • Reply 4 of 13
    bartobarto Posts: 2,246member
    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
  • Reply 5 of 13
    kim kap solkim kap sol Posts: 2,987member
    Quote:

    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.
  • Reply 6 of 13
    wjmoorewjmoore Posts: 210member
    Quote:

    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
  • Reply 7 of 13
    kim kap solkim kap sol Posts: 2,987member
    Quote:

    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.
  • Reply 8 of 13
    bartobarto Posts: 2,246member
    Quote:

    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
  • Reply 9 of 13
    chuckerchucker Posts: 5,089member
    Quote:

    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.
  • Reply 10 of 13
    buonrottobuonrotto Posts: 6,368member
    Quote:

    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.)
  • Reply 11 of 13
    chuckerchucker Posts: 5,089member
    Quote:

    Originally posted by BuonRotto

    Drawers.



    http://developer.apple.com/techpubs/...ection_30.html



    Compare the URL to the contents



    Quote:

    (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).
  • Reply 12 of 13
    amorphamorph Posts: 7,112member
    Any application can access CoreFoundation directly. It's not private.



    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).
  • Reply 13 of 13
    nitridenitride Posts: 100member
    CocoaGestures are a hack that inserts itself into Cocoa apps in a way that Carbon apps do not support.



    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).
Sign In or Register to comment.