CoreImage: The Great Idea That Failed
I have been using Apple Aperture for 8 months now. I use it on a MacBook with 2GB of RAM. A minimum machine in Apple-speak, but with respectable power by any standard. All the software I use on it is quite fast, including PhotoShop CS.
With Aperture, however, I do have performance issues, mainly with the image adjustments and external files generation. Patching and straightening are unusable. Highlights and Shadows makes the image rendering incredibly slow. Generally speaking, using the sliders is impractical because of the unresponsiveness. It does depends on how many adjustments, and which, are used. For example, once cropping is used, all the other adjustments become very slow. Patching is just usable if it is the only adjustment used and there aren’t too many spots. And external file generation takes an inordinate amount of time, the more adjustments the worse.
I expected something like that, although not as bad. I expected it because I knew Aperture adjustments are based on CoreImage. As you can see on the Apple page if you clicked on the preceding link, it is advertised as “Ultra-fast, pixel-accurate”. Pixel-accurate, I have no doubt. But ultra-fast, hmm, not on my machine. On that page , Apple emphasizes heavily the use of the GPU. The idea is that if the GPU is capable to do an operation, it is used because it will be much quicker than anything else. Otherwise, the CPU is used with a highly optimized program to still get good performance. By providing that kind of service in the OS, Apple claims software writer save time by simply using the library instead of rewriting everything.
Enter LightRoom.
Because of different frustrations with Aperture, I was waiting for the Adobe LightRoom 1.0 release to try it and see what to do. Now it is available. So I downloaded the trial, installed it, exported masters from a project in Aperture and imported the files in LightRoom. First thing I noticed was the general user interface is less intuitive than in Aperture. Nothing unexpected here, Apple is a master at user interfaces. The second thing I noticed was the speed in adjustments. Wow! This is incredible. Much faster than even PhotoShop (running in PowerPC emulation on my machine) ! Nothing to compare with similar adjustments in Aperture. Spotting is fast, interactive, works better. Very useful in LightRoom while useless in Aperture. Straightening and cropping is instantaneous, very well implemented, intuitive to use, very effective while useless in Aperture. These alone are two very important tools and would be enough to think. Then the exposure, contrast, curves, colours, all the other adjustments are between very fast and acceptably so. Many adjustment go much further than the similar ones in Aperture. But most of all, it is fast!
But wait a minute. LightRoom does not use CoreImage. It is old obsolete CPU-based programming. So, this means the CPU-based LightRoom functions are much faster than the same functions in CoreImage. It also shows Aperture adjustments could be much quicker if they did not use CoreImage!
And then, my main gripe about Aperture is not even its adjustments slowness. It is its very selective list of supported cameras. Aperture, like LightRoom, is intended to maximize the benefits of using RAW format. Problem is, Aperture only understands a very limited number of RAW formats. If your camera is not on the list, you’re out of luck and Aperture turns into a mere cataloguing application. Same thing with LightRoom, but LightRoom supports all the cameras I can think of. Big difference. But is it really an Aperture problem? No. Actually, RAW decoding is provided by CoreImage! On this front, the situation is getting more hopeless with each new camera released. Only the ones promised to be blockbusters get support. It has been expressed many times in many places how short-sighted this is. It is the first reason for an Aperture customer to look at the competition, but there is no sign of any improvement from Apple. And no communication, no plan, no roadmap, no timetable, nothing. Aperture is sold as an application for professionals. Right. I don’t know if Apple would tolerate a similar behaviour from its suppliers, but this is unacceptable. It is unacceptable to have the camera choice dictated by Apple and it is unacceptable to be kept in the dark about what to expect and when.
So, the two biggest flaws in Aperture are actually CoreImage flaws. One could even argue the other main part of the application is top notch. Indeed, its cataloguing functionality is, for me, the best on the market. Very well designed, implemented and.. fast!
Some might say that’s very good. The next OS version will surely bring a brand new CoreImage that will solve its problems and Aperture will inherit the improvementS. Maybe. But, somehow, I doubt it. Because on the OS side, there is no perception of a big CoreImage problem. Why? Because no one uses it. Indeed, why would a third party developer inherit slowness and/or very partial RAW support?
So, Aperture team, when will you dump CoreImage?
Stephane :: Feb.25.2007 :: Software :: No Comments »
