Mac Pro offers speedier OpenGL via multithreading
The new Mac Pro features a potential breakthrough in Mac OS X OpenGL performance that could dramatically enhance the speed of 3-D graphics—provided developers tap into it.
Now the questions are: will developers use this technology? And when will it be available to the rest of the platform?
OpenGL is the 3-D application programming interface (API) long favored by Apple. A foundation technology for Mac OS X, it’s leveraged in everything from video games to 3-D modeling applications like Maya. It’s also used extensively in Mac OS X v10.4 “Tiger” as part of the operating system’s Core Image technology, which has been used to build a variety of third-party applications. Even Motion, Apple’s pro motion graphics application, leverages it.
Mac OS X has long been recognized as a chronic underperformer in 3-D graphics speed compared to Windows. This difference became acutely obvious when Macs running Boot Camp showed stark differences in frame rate benchmarks running the same games in Mac OS X and Windows XP.
All new Macs except for the low-end Mac mini ship with dual-core chips— CPUs that essentially combine the performance of two microprocessors in one. And beginning with the Mac Pro, OpenGL supports multithreading, which enables those multiple processing cores to divide up the work of processing graphics.
How can that be, since, multicore processors and multiple processors aside, there’s still just a single graphics processor on a Mac Pro? Because Mac CPUs still spend quite a bit of time helping OpenGL process information. So by offloading OpenGL to multiple threads, the Mac’s CPU—or CPUs , it the case of the two-chip Mac Pro—can process OpenGL that much quicker. In other words, multithreading reduces the CPU’s “bottlenecking” of OpenGL performance.
The difference in performance for applications that support multithreading in OpenGL can be dramatic, according to early reports. There are two important caveats, however. First, Apple is offering this as an “opt-in” technology for developers. And second, multithreaded OpenGL is limited specifically to the Mac Pro.
It’s up to game and 3-D application developers to specifically support this feature. Why? Sources tell Macworld that depending on how the application works, it may have to be tweaked or massaged in order to work right with a multithreaded OpenGL implementation. And Apple would rather not break a core operating system technology, for obvious reasons. So the company is giving developers the choice of working with multithreaded OpenGL.
Glenda Adams, director of development for Aspyr, said, “We are very interested in testing with it and seeing which games make sense to enable support for it. For the games that are very graphics bound it could give us some very nice frame rate boosts.”
That also probably explains why our initial tests of a standard-configuration Mac Pro have yielded significant but not earth-shattering 3-D software and game performance improvements. The applications we’ve tested haven’t activated OpenGL multithreading. At least not yet.
Apple confirms that the Mac Pro supports this feature. “With the introduction of the new Mac Pro, the fastest Mac ever, Apple has delivered a multi-threaded update to OpenGL, the industry standard graphics architecture at the core of Mac OS X,” an Apple spokesperson said. Alas, Apple wouldn’t confirm when the general operating system will gain this enhancement.
The Mac Pro itself ships with Mac OS X 10.4.7, so multithreaded OpenGL appears to be something unique to the version of Tiger built to work on the Mac Pro. Could multithreaded OpenGL come to a future Tiger release? It’s entirely possible, though it’s equally possible that Apple may withhold this for Leopard instead.
But at this point, that’s just speculation. Apple, for its part, is mum on the subject. As you probably know, the company doesn’t talk about future product plans, and despite multithreaded OpenGL’s initial release on the Mac Pro, this is no exception.