Update 5/15/2010: Valve released a new patch for Portal on the 13th which resolved the blurriness issue. Please see our update below for for the full details.
It’s been a while since anyone treated Mac OS X as a first-tier gaming platform, so when Valve announced that they would be bringing their Steam service and the Source engine to the Mac, it was big news. After a roughly 2 month beta period for the Mac versions of Steam and the Source engine, yesterday Valve finally released the first wave of their Mac gaming efforts.
As it stands Valve is taking a gradual approach to rolling out their back catalog to the platform. Even though Steam is out and the Source engine has been ported, this week has seen the release of only 1 Source game for the Mac: 2007’s critically acclaimed Portal.
While it’s not the most graphically intensive Source game these days (that title belonging to Left 4 Dead), at this point it’s as good as anything else for looking at the performance of the Source engine under Mac OS X, particularly considering how long it’s been since a game’s original developer did the Mac port. So with that in mind, we went ahead and took a quick look at Portal’s performance under Mac OS X.
As is the case with all of the games on the Source engine, they’re designed to scale up and down fairly well. With modern hardware though, we’re hard-pressed to keep older Source games from achieving runaway frame rates. So Portal performance is somewhat arbitrary – most Macs with a discrete GPU should be able to handle it to an acceptable degree.
The Test
For our test we loaded up our GPU test rig with Mac OS X 10.6.3 in a Hackintosh configuration. As Mac OS X does not currently support either the GeForce GTX 400 series or the Radeon HD 5000 series, we had to step back a bit with our video card choice, settling for a GeForce GTX 285. And while the use of a Hackintosh does technically invalidate our results since it’s not a real Macintosh, based on our experiments we believe that our results don’t suffer in any way for using a Hackintosh, and as such we believe the results to be experimentally valid. But of course, your mileage may vary.
CPU: | Intel Core i7-920 @ 3.33GHz |
Motherboard: | Intel DX58SO (Intel X58) |
Chipset Drivers: | Intel 9.1.1.1015 (Intel) |
Hard Disk: | OCZ Summit (120GB) |
Memory: | Patriot Viper DDR3-1333 3 x 2GB (7-7-7-20) |
Video Cards: | NVIDIA GeForce GTX 285 |
Video Drivers: | NVIDIA ForceWare 197.13 |
OS: |
Windows 7 Ultimate 64-bit Mac OS X 10.6.3 "Snow Leopard" |
Image Quality
We’ll start quickly with a look at image quality. Valve is traditionally a staunch Microsoft ally, having built up their services and engines around Windows and DirectX. For the Mac OS X port of Source, Valve had to replace the DirectX backend of Source with Mac-appropriate components, the key of which is OpenGL. Such a change can impact image quality depending on how it’s done.
Portal - Windows. Click to enlarge
Portal - Mac OS X. Click to enlarge.
We have a gallery of screenshots, but for our analysis we’ll stick with comparing in a single set. Going with 2560x1600 with the game at its highest settings and 4xAA/16xAF, to our surprise the images are distinctly different when directly compared. The Mac screenshot is noticeably foggier than the Windows image, and textures appear to be less sharp. It’s not a night & day difference, but the Windows screenshot is distinctly clearer than the Mac screenshot. Without a Windows reference image it would be harder to tell that the Mac screenshot differs this much, but we believe that the difference is great enough that anyone with an eye for details that has ever played Portal on Windows would notice the foggier/blurrier IQ on the Mac.
Now some of this can be explained away due to gamma, since Mac OS X and Windows have different default gamma levels, but gamma could never explain the entire difference. There’s clearly a difference in IQ between the Windows and Mac OS X versions of Portal, and it’s not in the Mac’s favor. It’s by no means bad, but as one person put this when being shown these screenshots “It’s like looking at a magazine scan” when looking at the Mac.
Performance
The other half of our quick look is at performance. The Macintosh platform is renowned for being a graphical powerhouse, but this refers to professional/prosumer photography and the like. For gaming, Apple has been slow to include support for new hardware and new driver features (they are just now OpenGL 3.0 compliant) and overall their drivers are more conservative when it comes to performance. Portal is going to be slower, the question is by how much.
We went ahead and ran a timedemo from test chamber 18 and beyond on both the Mac OS X and Windows versions of Portal. We kept the settings cranked up at all times, but varied the resolution between 1280x800 and 2560x1600 to look at different GPU loads. At the worst-case of 2560, the Mac version of Portal runs at only 54% of the speed of the Windows version. That moves to 63% at 1920x1200, and 66% at 1280x800.
Portal – like all Source engine games – is CPU limited when given a powerful enough GPU, and even with just a GTX 285 we can approach that under Windows. Under Mac OS X however, we look to be GPU limited at all times. The framerate never suffers as we’re always averaging more than 60fps, but we can easily turn off MSAA and AF to improve performance if we needed to.
Closing Thoughts
For Source engine enthusaists hoping to see the Mac OS X port of the Source engine meet the high standards of the Windows version, Portal presents a mixed bag. In our limited testing the Mac version of Portal doesn’t significantly suffer for being a port, but at the same time it can’t quite match the image quality of the Windows version. Feature-for-feature there is parity, but the Mac version just isn’t as sharp as the Windows version.
Performance isn’t any better. Portal is an easy game to run and so we’re largely being academic here, but the “tax” for Mac OS X is roughly a generation in hardware performance. For the performance we’re seeing on a GTX 285 under Mac OS X the results are similar to what we’d see under Windows with something like a 9800GTX. Given that at the high-end the Mac platform is also a generation behind in hardware, and you’re looking at 2008 performance for Portal even with the best hardware you can get today for a Mac.
Ultimately having the Source engine ported to Mac OS X is going to remove the technical need to use Bootcamp to run Windows for games, but based on Portal it doesn’t remove the need to boot Windows for performance reasons. For long-time Mac users none of this should be surprising, but it means that we shouldn’t expect the Mac OS X version of the Source engine to be revolutionary.
Update: 5/15/2010
On Thursday after we published our article Valve pushed out an update for Portal that focused on fixes for the Mac version. The big fix was the following:
Fixed screen "fuzziness" caused by color correction operation
This fixed the blurriness issue we saw with the initial version of Portal. Texture and geometry quality is now as sharp as it is under Windows. Performance remains unchanged, while there is still an image quality difference between the two due to lighting differences and a general degree of fogginess that still appears on the Mac OS X version.
178 Comments
View All Comments
ptman - Monday, May 17, 2010 - link
I may not like Apple but honestly this is just an example of Valve being terribly lazy. If John Carmack can make ID Tech 5 (Rage) run on a Mac then Valve should be able to port a six year old engine properly to the platform.botrytis - Tuesday, May 18, 2010 - link
It is not Valve - it is the Open GL drivers that are the issue. Apple has just went to Open GL 3.0 (Apple was only using Open GL 2.0 for the longest time) and the newest version is Open GL 4.0. Blame Apple and the driver writers for this, not Valve.Penti - Tuesday, May 18, 2010 - link
It's not the god damn version that's at fault. Rage and id Tech 5 is essentially still a DX9 class engine as it will have a Xbox 360 path.No games or other software uses OGL4 yet and it's just a iteration of OGL3, ones they have implemented 3.3 they virtually has implemented 4.0 as 3.3 is a backport of many 4.0 features. 3.3 is for previous generation cards and 4.0 for new can be said about it, older cards won't support 4.0 so how would it even be important? There's no Macs which support OpenGL 4.0. Rage won't be a 4.0 only engine.
Valve certainly aren't lazy, they are fixing bugs and performance problems, it's not a finalized port by any means, hell the SDK aren't even released yet and that says some. nVidia and ATi are lazy on the other hand, because they can be. They haven't had any pressure to optimize and support applications like this. Apple certainly isn't slower then the vendors, but they only do the software renderer which is hardly useful to even mention in questions like this. The infrastructure is there for the vendors to move faster. But any way Windows is at OpenGL 3.2 for these cards as of now, no games use it, the drivers hardly are prefect there either as they usually put out fixes for games.
Even the new 330M just supports OpenGL 3.2 in Windows, the hardware don't support 4.0. As in they are yet to release OpenGL 3.3 drivers in the wild. Only Fermi based GPUs from nVidia will support OpenGL 4.0 when it comes to nVidia, and of course AMD supports it from the 5000-series. What we are waiting for on the Apple platform is GLSL1.3, 1.4, 1.5, 3.3 not the extensions and other new features. Valve hardly needs the more advanced shader features. It's not a DX11 class engine or heavily dependent on shaders or any compute features. It's just six more features to be implemented in order to support OpenGL 3.2 on OS X for ATI anyway. Not 20 or 40. As long as they stick to GLSL1.20 they can use all the new features and extensions of OpenGL 3.0.
But as said 4.0 isn't needed or possible when they are just using DX10.1 compatible hardware. Ones they move the engines to 4.0 they still need to support at least OpenGL 3.3 (DX10.X hardware) and possibly even as far back as 2.1. Shipping drivers in Windows for 330M supports 3.2 at most. You can install the developer drivers though and get 3.3 support. OGL 2.1 support is found in 10.6 with the newer cards, 3.0 was released on July 11, 2008 with drivers coming out in dec 2008 (nVidia) mind you, not years ago. You got OpenCL support, all the extensions (ATI) for 3.0 supported and only the GLSL version update missing on OS X. It's not as if were stuck with ~2004 era OpenGL 2.0. (Still equivalent to DX 9.0c and SM3.). But it's not like Vavle needs more either. Just better quality drivers, which would be helpful. But 4.0 isn't on the table before hardware is found in newer Macs. And in order to support any current machine you still need to support OGL2.0. And you don't find any fermis in laptops yet. The software renderer from Apple supported OpenGL 2.1 in OS X 10.5. The driver implementations lapsed behind. Totally unnecessary as OpenGL is extendable and implemented in the driver. OpenGL 3.2 vs 3.0? You can't really make that argument yet as they are so alike and nothing uses much of it. Features can always be brought as extensions to earlier versions and that is often what happens. Any 3.2 software will be able to use 3.0 through its fallbacks and it's just a few features that's added to 3.2 so it would do fine with 3.0. However there's no reason why we should wait for 3.2 and not expecting it to come virtually the same time we get complete 3.0 support. That's what happened on Windows pretty much.
Of course nVidia would hardly care about the GTX 285 drivers for a lonely aftermarket card, we can expect much more performance and fixes for other drivers/cards. Valve has made enhancements since this article too. The Apple platform is any way a few features behind, not years and years. Basically GLSL1.3, 1.4, 1.5 and a total of fourteen (ATI) extensions including the GLSL support or 11 excluding that and you have all the support. Not a massive undertaking, (it's already done on Windows and Linux) it should be there soon. It's not a excuse for a ~2.1 (2.0 compatible) engine not to work properly. And Valve is by no means finished on their side. Just listen to their developers. And OGL 3.2 Vs 4.0 isn't like DX 9 Vs 11, it's not like your missing OpenCL in even 3.0. Much of the updates is just to streamline stuff. Not to add stuff that weren't possible before. Most of the extensions are already added to older versions of the API.
Scali - Tuesday, May 18, 2010 - link
"Rage and id Tech 5 is essentially still a DX9 class engine as it will have a Xbox 360 path."Just because it will have an XBox 360 path doesn't mean that it can't scale to higher hardware aswell.
A fine example of a scalable engine is the CryEngine.
CryEngine 2 already supported both a DX9 and a DX10 path. CryEngine 3 will add XBox 360 and PS3 to that... and the PC path will be upgraded to DX11.
Having said that, I don't think Rage will get such cutting-edge graphics as Crysis on the PC.
Penti - Thursday, May 20, 2010 - link
Doesn't mean it can't scale to lower either, no Mac has a DX11 or OpenGL 4.0 capable graphics card any way as said.Of course the engines can scale and that's my whole point, a DX11 game will have a DX10 path, even a DX9 one.
Current macs don't benefit from getting OpenGL 4.0 support, current games doesn't, future will probably support OGL 3.0/3.1/3.2/3.3 fine. DX11
Penti - Thursday, May 20, 2010 - link
ah sorry happen to post unfinished.DX11 runs on DX10 hardware mostly so it's not really the same thing as OpenGL 4.0 either, granted you don't get access to SM5 and hardware tessellation then, so it's becoming more like OpenGL 3.3 on older hardware.
Of course a PS3 port is equivalent to no more then OpenGL 2.0, so there's no reason for Mac ports to be any worse. I don't see it as a big problem that it doesn't support something the hardware doesn't support, Apple's vendors supports the API on Windows and Linux. So it's not like it won't never happen.
Even if future engines like Rage make use heavily of OpenGL 4.0 it will still retain support back to probably OpenGL 2.0. However current macs will probably have to do with 3.3. And the engine will be native OpenGL on both Windows and OS X. So it should work very similar on both. Shaders will be optimized for GLSL and OpenCL will be there.
Also as OpenGL is extendable you can add hardware tessellation to even OpenGL 2.0/2.1, AMD already did. So up to date drivers are much more important then the latest API which the hardware doesn't support. When a game developer need a feature he doesn't need to wait for a new complete API or update to the API itself he can just convince the graphics vendors to release an extension for it. The version is as said not that important it is what you do with the available features. Stuff don't get useless because they don't have OpenGL 4.0 support, something Consoles might get in ~ 2012-14 any way :) If you have the extensions your needing you won't miss OGL4. My point is the graphics doesn't need to be any worse even if your graphics card just have drivers supporting OpenGL 3.0 or even 2.1. If the features are there it's there, you got what you need, it's not a static target if you don't want it to be. Blaming Apple to not support something the hardware aren't capable of is kinda silly. You can at least wait till there's graphics cards in macs that supports it and software that definitively need the new hardware features. Most features are backported to 3.3, most stuff can be used from extensions even on 2.1. It's not that definite like some like to believe. You don't need DX11 feature parity before you have hardware to support it :) It's not the API the macs will fall on if new engines need new hardware it's the hardware. A mac port can easily surpass the Xbox 360 and PS3 port any way. And you won't design an engine which doesn't work on those, so why wouldn't it work on Mac? It's just bullocks. Valves problems stem from an unfinished port and unoptimized drivers which doesn't have all those fixes the windows version has. They don't benefit from DX11 hardware.
Scali - Saturday, May 22, 2010 - link
I'm still not too sure what your point is, really.Yes, engines can scale to lower features...
But isn't the issue here that the game looks less than the PC version of a few years ago, which was 'only' a DX9 game to begin with?
So yes, it looks like it is scaled down for the Mac... but why?
I agree that it shouldn't be the API's fault, because OpenGL supports extensions. I don't know the exact situation on OS X, but I would expect that AMD and nVidia have driver extensions for everything they support, just like in Windows and linux. So even if the API is officially only 2.1, you can still access the other features. There have been ARB extensions for them for years.
So why would you scale it down?
And the other obvious issue is performance: why is it so much slower than the PC version, despite being scaled down?
newrigel - Sunday, June 20, 2010 - link
And use OSX to get work done! Try that on your PC!!! Gaming has NEVER been the strength of OSX and it never will because people make $$ with OSX doing media and music... no big deal.