Unigine has recently released a new Valley benchmark, which runs on Windows, linux and OS X. The Windows version can run in either OpenGL or Direct3D. They have also released version 4.0 of their Heaven benchmark.
I thought this, as well as Valve’s recent release of Steam and some games for linux, would be a good opportunity to discuss some things. Namely, there has been quite some talk of how OpenGL is making a comeback, and how linux will be faster than Windows for games (even Valve claimed that). Now, I was quite skeptic of that, since as you probably know, I develop both Direct3D and OpenGL code, and in my experience, Direct3D has always been faster than OpenGL, and OpenGL code always runs better on Windows than on linux.
And, as the benchmarks for Valley and the new Heaven 4.0 trickle in, we see very similar things… Direct3D is faster than OpenGL, and not just a little. It’s not even close (and we also see that Radeons still take a bigger hit than nVidia cards in OpenGL, some things never change). And no, it’s not because Microsoft is crippling OpenGL either: on OS X and linux, where OpenGL is the only 3d graphics API, the results are even worse than on Windows. I’ve also seen some early benchmarks of the Valve games, and again, linux ran them slower than Windows. Especially when the bloom effect was enabled, performance seemed to really tank.
Which brings me to the point I am trying to make: why do people even bother? Direct3D is clearly superior, and not just a little. And even if you would stick to OpenGL, Windows will get the best framerates out of your hardware, so why bother with linux? (And then I’m not even getting into details such as security issues in display drivers, or how linux only supports one OpenGL driver at a time, so no fancy multi-card setups, or how multihead support with OpenGL on linux is very poor).
It is a phenomenon that I would like to call ‘OS junkies’. People who are somehow emotionally attached to a certain OS. I can not relate to this whatsoever. James Hague wrote some interesting blogs on related topics, such as this one where people just want to write software for linux for the heck of it. Or this one about hidden agenda’s and people distorting the truth to favour one OS over the other.
Now, here’s a list of my first 4 computers:
- ZX81 (Z80 CPU, Sinclair BASIC)
- Commodore 64 (6510 CPU, CBM BASIC)
- Commodore PC-10III (8088 CPU, MS-DOS)
- Commodore Amiga (68000 CPU, AmigaOS)
There are two things to note here: Firstly, each computer used a different CPU (not to mention custom chipsets). Secondly, each computer used a different OS. These OSes shipped with the computer, and generally there was no choice anyway.
Now, the reason why I got each of these computers was the total package. Generally the hardware was more important than the software. For example, the C64 and Amiga were the computers to get for the games at the time, and especially on the Amiga, also the demoscene activity. The PC was the only one that ran all the usual ‘office’ applications of the time, such as WordPerfect (okay, there was an Amiga version… sorta), dBase and Lotus 1-2-3. (Funny enough, even in the Amiga world there are some ‘OS junkies’ these days. Running AROS or MorphOS on a computer whose hardware has nothing to do with the original Amiga hardware, hence any classic Amiga software has to be run via emulation. They still call this an Amiga. I don’t.).
The OS was never relevant. You just used whatever came with the computer. But eventually all of these platforms died out, except for the x86-based PC. And somehow people started making a fuss about which OS to run on computers that were otherwise completely identical hardware-wise (even Macs are, these days). Why? I don’t get it. It’s the total package that matters, right? And if gaming/3d graphics is your thing, then clearly Windows gives you the best bang for your hardware. So why even bother with gaming on linux? I can half understand OS X, since it is a slightly different ecosystem, and some people just prefer to use OS X for certain types of applications. So if you want to do a little gaming on the side, then it’s nice that OS X gives you that option, even though it is limited.
But linux gaming? Why? Linux may be a popular choice for servers, but you don’t play games on servers. As a desktop, the application support is nowhere near the level of Windows or OS X, so why would you want to use linux over Windows for a desktop machine in the first place? Free software? Well, games aren’t free! At least not the ones that Valve sells on Steam! And if you need to pay for them anyway, why not run them on Windows? Compared to the cost of your hardware and games, the cost of a Windows license is negligible, not to mention a good investment for your gaming experience. And in most cases you probably already got a copy of Windows bundled with your computer anyway.
What I never got is how people argue about OSes, while missing the obvious point: regardless of the OS they choose, they are locked in to the same generic x86 hardware. Now as I already said above, for me, it was all about choosing the hardware. Whatever OS was on it didn’t matter. The OS was just a means to an end. All software was written for the OS that was bundled with the machine anyway, so even if you had a choice, it didn’t make much sense to use anything other than the bundled OS.
What you should be bothered about is that nobody builds interesting custom hardware anymore, like in the days of the C64 and Amiga. Those machines had character, they had personalities. They had unique abilities. You can instantly recognize a screenshot from a C64, not to mention SID music. But PCs? Who cares? Putting a different OS on the same hardware isn’t drastically going to change what your hardware can do (well, okay, going from Windows to linux or OS X can drastically reduce performance of your 3d card).
Which brings me to the last blog by James Hague, which deals with this long period of x86-only computing. As he says: different shades of the same thing. At least with ARM sneaking into the mobile world, things have become slightly less one-sided these days. But OSes, especially when it comes to gaming/performance? Wake up people, Windows and Direct3D won that battle years ago. You’ve just been in denial because there wasn’t even enough OpenGL software around to demonstrate Microsoft’s superiority.