Inside Mac OS X Snow Leopard: GPU Optimization
September 4th, 2009
Daniel Eran Dilger
As jingle-pundits desperately try to denigrate Snow Leopard as a “Service Pack,” Apple’s new operating system reference release actually expands the reach of the Mac platform in several important and under-reported new directions. Here’s the third in a series looking closer at some of Snow Leopard’s well-known, but often misrepresented or misunderstood features.
Apple’s support for OpenGL and its introduction of OpenCL as the new standard in GPGPU computing will work together to weaken Microsoft’s proprietary push to make DirectX/D3D the primary API supported by GPU hardware developers such as AMD/ATI and NVIDIA.
As other platforms also throw their support exclusively behind OpenGL, from the Wii to the PlayStation 3 to Apple’s own considerable iPhone/iPod touch juggernaut in mobile device computing, the market power Microsoft has established in its efforts to kill open GPU standards and substitute them with Windows-only substitutes will continue to fade.
The move toward greater utilization of available GPU resources, along with Snow Leopard’s Grand Central Dispatch architecture which helps makes this easy and transparent for developers to deliver, also makes it possible to Apple to innovate in future hardware, adding new acceleration chips of its own design or simply including better support for the existing GPU resources available from today’s vendors.
Where the GPU puck was headed
Just as in the move to 64-bits, Microsoft is splintered between trying to accommodate simple, low-power netbooks and the long tail of Windows XP users in its installed base with new, modern systems that actually use the same level of advanced graphics compositing that Apple premiered ten years ago.
According to the monthly hardware data report published by Valve’s Steam covering roughly a million PC users, even among members of the gaming community, most of whom have 512MB or more of VRAM and a better GPU than most Mac users and, the majority are still running Windows XP, on operating system which offers no GPU-accelerated user interface. Similarly, only 17% of this high end gamer demographic is running a 64-bit edition of Windows, despite being a population that benefits the most from 64-bit addressing.
Apple not only grasped the power of the GPU in 1999 but applied it in Mac OS X’s Quartz Graphics; Microsoft didn’t get its own product with advanced, modern graphics compositing to market until Vista in 2007, and then failed to actually sell it to its users. Even among Valve’s Steam users, who represent the premium fringe of early adopter, big spending PC buyers, only 36% are now running Vista, nearly three years after its launch.
On the other end, most low-end netbooks running Windows 7 will still be lacking the GPU support Apple managed to get into the iPhone in 2007, because most netbooks use the same architecture as low end generic PCs: an Intel CPU paired with chipset graphics. The iPhone uses an embedded “System on a Chip” which includes an ARM core along with with high performance, dedicated graphics cores that Apple has fully exploited to defer interface-related processing to hardware, much like a video game system.
Apple Bets on GPUs
As a corporate strategy expert from a leading mobile company wrote, “Apple was the first one to have this insight in desktop computing […]. Windows was stuck in the old CPU driven architecture while OSX moved large parts of the code behind UI and rendering to those high power GPUs initially developed for gaming. It took 5 years or so from the mighty Microsoft to hammer its OS to adapt to this new computing paradigm and release Vista.
”And exactly the same happened in mobile devices. Apple’s competitors were developing OS architectures initially built for menu driven UI’s in the times when CPU was the main processing unit. Effective use of the GPU will play an increasingly large role as devices get more mobile and as users’ expectations increase. Apple is ahead of the game both in conventional PCs and in mobile devices, with rivals such as Microsoft and Nokia just recently discovering the importance of focusing on the GPU to deliver the power needed to provide a rich, animated user interface.
“What Apple needed to do was to downscale its OSX a bit and partner with Imagination Technologies to develop a powerful mobile optimized graphics core. Suddenly they could run an UI that required several multiples of processing power the traditional mobile computing platforms were able to deliver. But since iPhone used GPU to crunch the heavy parts of UI code Apple could do it. The rest is history.
”There is a long list of other things Apple did right and assets they had, but without a great ‘inertia’ in mobile operating systems and this shift in mobile computing platforms they would have not been able to shake the market so greatly.“
By sharing technology between its iPhone and Mac platforms, Apple is building upon its lead in fully exploiting the latent power available in the GPU. Snow Leopard specifically delivers a richer, subtly more animated user interface right out of the box and provides powerful toolkits to allow third party developers to wring the most performance from the hardware available.
Daniel Eran Dilger is the author of ”Snow Leopard Server (Developer Reference),“ a new book from Wiley available now for pre-order at a special price from Amazon.