OS X Journal: Closer look at Jaguar's Quartz Extreme


Week 9

At WWDC this week Apple gave developers a preview of Jaguar, the next major revision to Mac OS X. Apple is apparently avoiding giving this update a version number, so we'll just call it OS X 10.Jaguar. The WWDC demonstration was largely for its developers, but Apple formally announced the feature set of Jaguar to the public. Jaguar has a host of interesting features, as hashed out here and on other Web sites, but the one that interests me the most is Quartz Extreme.

The buzz over Quartz Extreme reaches back to the early days of Mac OS X. Mac OS X uses the Quartz 2D graphics engine to generate graphics for the Finder and its Aqua interface. When introduced, Aqua added numerous features to the Mac Finder, such as higher-resolution icons, transparencies, more anti-alias text, drop shadows and effects like genie. All these wiz-bang features came at a price in the way of CPU power to render the graphics. Coupled with OS X's pre-emptive multitasking, the OS X 10.0 Finder was just dog slow compared to Mac OS 9 on the same system. Ever since then, customers have been asking for Quartz acceleration.

Version 10.1 improved on this greatly by doing whatever could be done to speed up the GUI. Version 10.1 made Mac OS X's Finder "usable," but still lagged Mac OS 9. Looking at the big picture, OS X needs to be as snappy, if not better than OS 9 before the majority of existing users will be compelled to move over to the new OS.

Right now, the CPU handles majority of OS X's Quartz graphics. Tweaks aside, to improve Finder performance you'll have to either increase CPU speeds or unload rendering to a graphics processor (GPU). Quartz Extreme will allow Mac OS X to offload most of these Quartz graphics to the graphics card, freeing up a significant portion of the CPU to work on other tasks. For example, when you open a folder, rather than having the CPU handle both the operation of opening the folder and generating the graphics, the GPU will handle most/all of the rendering allowing the CPU to focus on the operation. With that said, I'll be interesting to see how big of an impact Quartz Extreme will make. I'm expecting a significant improvement, but contrary to all the newly abounding hype, I wouldn't expect Quartz Extreme to blow the door off of OS X by itself.

OpenGL

Apple plans to use OpenGL to optimize the Quartz layer, which is kind of interesting. OpenGL is the popular 3D rendering engine, powering popular 3D games and 3D design software. Why is Apple running 2D graphics through a 3D engine? I don't know. The likely answer is that it's easier to bridge Quartz graphics to OpenGL, which is already supported and hardware accelerated in OS X, than to start from scratch and make Quartz hardware accelerated with existing hardware. Besides being convenient, having access to OpenGL in the Finder may have some interesting side effects like bringing 3D objects into the Finder.

So there is of course a catch to this wondrous technology. Rendering full screen, high-resolution images has a price and that price is some big iron in your graphics slot. Apple has stated that you will need a 2x AGP graphics slot with a recommended 32 MB of video RAM. This has turned to be quite controversial, mostly because a lot of people don't match up to these requirements, specifically customers who just recently bought a new Mac.

Overhead

So why does Quartz Extreme require such beefy hardware? Lets put aside conspiracies of trying to boost hardware sales and look at this reasonably. Just because you can manage to get 60 fps in Quake 3, doesn't mean your PCI card will be able to handle Quartz Extreme. In all likelihood, it's not about speed, but memory bandwidth. It's going to take a lot of memory to work with a 1600x1200 screen resolution. In order for Quartz Extreme to work, you're going to have to move those graphics instantly and I can't imagine PCI being able to handle this type of load. AGP is better suited to move large chunks of data like this quickly, and I think that's why we see the 2x AGP requirement. The memory on the other hand might be a different story. During the keynote, Jobs said Quartz Extreme would require 32 MB, but now Apple's marketing materials say 32 MB is recommended. This leads me to believe that you'll be able to get away with 16 MB. Other than PowerMacs, most recent Macs shipped with 16 MB, which is unfortunate. While you're probably going to get the most bang with 32 MB, I suspect you'll see some benefits from 16 MB, especially if you don't use extreme pixel resolutions.

What about the people without AGP? I don't know, I'm kind of curious myself. From what I gather, Jaguar will run similarly to how 10.1 runs on older systems. This would make a worse case of the CPU would still handle Quartz , which should be no worse off than what's going on today. I also suspect that additional improvements will be made to the Finder that will be seen by all. One example is the improved multi-threading of the Finder. While this will benefits dual processor machines, it shows Apple isn't stopping performance increases at Quartz Extreme.

So if these assumptions hold true, there's nothing for anyone to complain about. The story of outdated hardware is a tired one in computing land. I've always been a proponent of not letting legacy technology hold back progress. Developing for the lowest common denominator is simply self-defeating. If you have a PCI graphics Mac and you're upset about Quartz Extreme's standards, you should get over it. Your Mac should run OS X 10.Jaguar just as well as it runs 10.1. If it doesn't, then you have something to complain about. If you were expecting a magical release to make OS X usable on an older Mac, OS X 10.1 was probably that release. Quartz Extreme is progress and to require the use of current hardware to take advantage of it isn't unreasonable at all.

Time will Reveal All

Hopefully some of our questions will be answered in the coming weeks as developers dig into their preview release copies. As a side note, WWDC attendees this year were required to sign a non-disclosure agreement, which hopefully won't restrict the flow of information on Jaguar before its release. We'll have to wait and see.

Comments, corrections or additions? Please post below.