Apple's Enhanced OpenGL Stack Versus Linux
While our primary focus at Phoronix is on providing Linux benchmarks, we do enjoy trying out and benchmarking other operating systems like FreeBSD, Solaris, and Mac OS X. When Apple originally launched Mac OS X 10.6 "Snow Leopard" we were the first to provide detailed Mac OS X 10.6 benchmarks compared to Mac OS X 10.5 and also how Apple's new operating system at the time compared to Linux. We have continued to monitor the performance of Snow Leopard and found that some point releases had introduced some regressions and we have compared the performance of Mac OS X 10.6 to Windows 7 and Ubuntu 10.04 LTS. With Apple's release last week of the "Snow Leopard Graphics Update 1.0" that is reported to bring "stability and performance fixes for graphics applications and games in Mac OS X", our interest was piqued and we set out to run a new set of Apple OpenGL benchmarks. In this article we are looking at the OpenGL performance of Mac OS X 10.6, 10.6.2, 10.6.3, 10.6.4, and 10.6.4 with this graphics update installed.
Apple's HT4286 support page for the 69MB package that is designed to offer greater stability and performance fixes for graphical applications list some of the basic details of this update. This OS X graphics update is targeted for the Mac Mini, MacBook, MacBookPro, iMac, and Mac Pro models that were manufactured in 2009 and 2010. Effectively this update is just for the Mac computers with NVIDIA or ATI graphics. This update is not designed to improve the OpenGL performance or stability for the older Macs that offer only Intel integrated graphics or older graphics hardware that is already limited by its rendering capabilities. This support page specifically mentions as fixing frame-rate issues in Valve's Portal and Team Fortress 2 games, resolving a stability issue with the Apple Aperture 3 photo/imaging application, and resolving image corruption issues when hot-plugging displays. As has been widely reported now, one of the key reasons for the Snow Leopard Graphics Update 1.0 is the release of Valve's Steam/Source Engine for Mac OS X.
The Snow Leopard Graphics Update primarily focuses on providing driver and low-level graphics stack optimizations for Mac OS X and OpenGL features that previously went unimplemented within Apple's NVIDIA and ATI drivers along with bug fixes. Some of the highlights of the Snow Leopard Graphics Update include support for OpenGL occlusion queries and improving the efficiency of floating point validation. Apple's optimization efforts though are not over as they still have room for improving their graphics driver stack by adding support for newer versions of the GL Shading Language (GLSL) and currently unsupported OpenGL extensions like uniform_buffer_object.
For this testing, we used a 2009 Apple Mac Mini (Apple Mac-F22C86C8) with an Intel Core 2 Duo P7350 CPU running at 2.00GHz, a NVIDIA MCP79 chipset, 1GB of system memory, a 120GB FUJITSU MHZ2120B SATA HDD, and NVIDIA GeForce 9400 512MB (400/1066MHz) graphics. UPDATE: Valve Software has mentioned to us that the NVIDIA MCP79 hasn't received as many optimizations as the newer GeForce 320M/330M and GTX 285 GPUs received, but alas this is all we had available for testing at this time. On a clean install of Snow Leopard we benchmarked the Mac OS X 10.6.0, Mac OS X 10.6.2, Mac OS X 10.6.3, and Mac OS X 10.6.4 releases and then the 10.6.4 release with the Snow Leopard Graphics Update (SLGU) installed. For comparison to the OpenGL performance on Mac OS X we also benchmarked Ubuntu 10.04.1 LTS with the same tests when using the official NVIDIA 256.44 display driver that provides OpenGL 3.3.0 support. Ubuntu 10.04.1 LTS was run with the Linux 2.6.32 kernel, X.Org Server 1.7.6, and an EXT4 file-system.
The tests run in this article included Nexuiz, Urban Terror, OpenArena, Warsow, and X-Plane. This testing was managed by the Phoronix Test Suite.