OS and platform wars, why even bother anymore?

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:

  1. ZX81 (Z80 CPU, Sinclair BASIC)
  2. Commodore 64 (6510 CPU, CBM BASIC)
  3. Commodore PC-10III (8088 CPU, MS-DOS)
  4. 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.

This entry was posted in Direct3D, OpenGL, Software development, Software news and tagged , , , , , , , , , , , , , , . Bookmark the permalink.

19 Responses to OS and platform wars, why even bother anymore?

  1. anthonyvenable110 says:

    Reblogged this on anthonyvenable110.

  2. Adam says:

    Raspberry Pi!

    It’s not like there are no platforms to build custom hardware for anymore and the pi is surprisingly cheap, only £25 for the unit and £30 for an assembled gertboard if you don’t want to do the job yourself, the options are there!

    • Scali says:

      Yea, but the Pi is still a super-generic ARM-with-OGLES SoC, as found in many phones, tablets, nav systems and other embedded stuff (and not even as powerful as a mainstream phone).
      It doesn’t do anything special hardware-wise. Aside from the fact that it uses an ARM CPU instead of x86 (which is completely irrelevant if you program C/C++, Java, whatever other than assembly), it is basically the same as any generic x86 PC from a few years ago.

  3. mhagain says:

    From what I read the much-touted GL resurgence is not much more than yet another bunch of vendor-specific extensions, useless if you need to do any cross-vendor work of course, and meanwhile dear old AMD still haven’t released a GL4.3 driver… The problem with GL isn’t all the crufty crap that you don’t have to use, it’s the borderline-insane specification of the stuff you do have to use. I wouldn’t be too surprised if much of the performance loss came from bind-to-modify, buffer object updates and software fallbacks. T’was ever thus with GL.

  4. “As a desktop, the application support is nowhere near the level of Windows or OS X.”

    Explain this. Because I think that Windows has a much worse choice of applications than Linux. And if you consider that the best Windows applications aren’t even free, often costing quite a bit sometimes, Linux becomes a very viable desktop choice.
    Not talking about games here, where Windows has clearly the lead. But, what’s wrong for somebody that uses Linux on the desktop to ask for a better OpenGL support so to be able to play some games once in a while?

    • Scali says:

      I think you’re the one who has to explain this. Because as far as I know, linux does not have any killer apps, unlike Windows and OS X. All the usual desktop apps that people use on linux, are also available (and free) on Windows and OS X, such as LibreOffice, FireFox, Chrome, Thunderbird, The GIMP, Eclipse, Netbeans, Blender etc.
      Okay, so most of these killer apps aren’t free, but that’s not important. Those are the apps that people use to make money. Apps like MS Office, Visual Studio, PhotoShop, Illustrator, Premiere, 3dsmax, etc. They simply aren’t available for linux.
      So what is the point of using linux as a desktop at all?
      If there was somewhat of a point, it’d be the same as what I said about OS X: okay, if you happen to use that particular OS, being able to game on it occasionally is nice. But I don’t see the point at all. Seems that people are only using linux because it’s not Windows, which is a ridiculous reason.
      Especially considering how much better Windows actually is. The lead Windows has in gaming is not limited to gaming only obviously. It is a result of an efficient kernel, driver and API framework, providing a solid base of performance for any application.

      • Do you have any actual benchmark proving that gaming under Windows is better, performance-wise, than under Linux? Because ALL the games I’ve ran under Wine have performed the same (fps) than under Windows. To my surprise, admittedly. I had grown under the myth that Windows was better for gaming, that it performed better and had better support. I found out that only the latter is actually true.
        Consider also that the status of drivers under Linux isn’t on par with Windows. It’s just a platform that hasn’t been exploited at its maximum for gaming, far from it. But if it was, and probably will according to Valve, it’ll match Windows performances.

        The “killer app” for Linux is that it doesn’t need a killer app. And neither do you. If you have important work that can be done only on PhotoShop or Premiere or 3dsmax or any-professional-software-unavailable-outside-windows, then use it. Done. But 95% of people on desktops don’t “need” all the features that those professional applications have. Do you really think the average clerk at a bank or the secretary of a study uses all the features of Ms Office? Or that all those kiddies posting art on Deviantart really need to crack PhotoShop? No, they don’t. They’d be better using Linux with Libreoffice/Gimp/whatever and have endless support, no price to pay, unless you want to make a donation, and work with open formats that will not prevent you to change application when you are unsatisfied with one. Have you ever wondered why those professional applications that cost a leg are so reluctant implementing open formats? Exactly this: preventing normal people thinking “why do I need to pay $$ for a license when I use a limited range of its features? There’s a free alternative!”.

        The same applies to Windows/Linux: why do I need to pay for a license, wait for MS to patch bugs, undergo the update process when MS decides it’s time for a new Windows version and be at the mercy of what they think a desktop should look like and behave? Why can’t I free myself of all this and go with Linux? There are hundreds of different distributions, surely there’s one that exactly fits your needs.
        You know, some people like to do things their own way. Linux gives them this power. Neither MacOsX nor Windows do. Linux is in itself the “killer app”.

      • Scali says:

        There were some benchmarks linked right in the article. Also, lol@wine. Gentlemen, we’ve got a live one: a retarded lunix fanboi!

  5. You’re ignoring a few things though aren’t you? You accept that people use OSX as: “some people just prefer to use OS X for certain types of applications”, but you don’t accept the same or other arguments for using Linux?

    Lets say you’ve chosen Linux for “certain types of applications” but you also like to play games? Then you’re going to be using OpenGL. Ubuntu has made running Linux more popular, and a LOT easier than it used to be. So with more people now running Linux why not improve the performance of OpenGL. nVidia are working on it with Valve and some of the videos/article show that it is faster in some situations than the Windows drivers. Not all by any means but there are some real cases where it is.

    Of course you can multi-boot, and of course they still haven’t made OpenGL more like DirectX thanks to Autodesk et al refusing to let them. So yes there’s a long way still to go but the fact that they are doing it, that they are improving the drivers for Linux, and that they will hopefully fix the related issues (one of these days) is why it’s being touted as a resurgence.

    Some people choose their OS because they’re iconoclastic nutbags, some choose it because it’s the right tool for the job, some others use whatever comes to hand, some choose one because it’s free – in various meanings of the word, some others choose to try Linux or switch to OSX because Windows has pissed them off and vice versa.

    Currently though most Indie &/or open source games use OpenGL for portability because it gives them a wider audience. They’re not pushing the hardware to Crysis3 levels (disclaimer: I work for Crytek) so they don’t need that but they do benefit from the wider audience, especially on platforms relatively starved of quality games (I hate TuxKart so much).

    • Scali says:

      As I already said above, I discarded that argument for linux since I can’t think of any killer apps for linux that aren’t available on OS X or Windows as well.
      If you can think of a good case for a linux desktop being the right tool for the job, then let me know, because I can’t think of any.

      Oh, and as for improving drivers, I don’t buy that. nVidia uses the exact same OpenGL codebase for Windows, linux and OS X. Any performance differences are either inherent in the OpenGL API design vs Direct3D, or caused by other parts of the OS being inferior to Windows, leading to more overhead.

      • Well because you or I can’t think of a killer application doesn’t mean that there aren’t any. I can’t think of any for OSX either but it’s still valid argument that others might have. It doesn’t even have to come down to specific applications. Lets take the environment, Windows7/8 still suffer a mass of security issues, and Windows 8’s touch driven interface directions are worrying, as is it’s app-store arrangement.

        Will MS lock down what apps you can install and gate the usefulness or access of non-app-store programs to lesser APIs? Will DirectX12 be app-store only certified programs for “security” reasons?

        My personal take is no, but then again I fully expect them to artificially deprecate my fully working Windows 7 by making DX12 a Win8 only release. That’ll cost me money to upgrade and if Canonical/Valve/nVidia have improved Linux gaming enough… nah I can’t switch, I need Visual Studio 😀

        I know that the back end OpenGL driver will be the same but there’s a lot of interface, and it’s far worse on Linux & OSX than Windows7/8. That also provides a lot of room for improvements and those changes will affect the way that the back-end code is used even if it doesn’t change it specifically. That’s not really the OS being inferior, that’s the driver being written for one interface and not being optimal for another.

        Beside Canonical and nVidia are both investing in projects to improve those parts of the Linux OS.

        Look I’m not advocating Linux, I use Windows because it provide the tolls that I want to use, runs well and meets most of my needs. If OSX did it better I’d switch, I don’t really care. If Windows gets worse with it’s security/app-store, or if I find that “killer-app” for it, then I’ll probably start dual booting Ubuntu. All I’m saying is that our personal inability to find a killer app isn’t reason to discount it like your post seems too.

        Picking an OS that you must use everyday for 8 to 12 hours of time is going to mean that people choose one based simply on what they like. I’ve used all of three and whilst I am on Win7 and will probably always have a Windows machine I really did enjoy how I had Ubuntu setup last time I was using for a few months. It was a pleasure to use… once I got it working 😉

      • Scali says:

        My policy is simple: there exists no killer app for linux until a commenter can prove otherwise 🙂
        As I already said in the blog, the ‘killer app’ of linux is server-related (or possibly ‘free software’), but gaming does not fit into that picture.
        For OS X I guess it’s not so much the applications themselves anymore (Adobe PhotoShop et al used to be one of the killer apps, as well as things like Cubase/Logic, but the Windows ports have since matured), but rather the total package: Apple’s hardware comes with top-grade displays and professional grade colour calibration. I have some friends in the graphics/video world, and they all use Apple laptops. Things just look REALLY good on their screens. The average Windows laptop is nowhere near that level of quality. There may be some around, but it’s always a gamble, where Apple stuff is guaranteed to be great out-of-the-box.

        I covered security issues in other blogs, short version: it’s not an inherent Windows shortcoming. On the contrary, Windows has better security measures than linux and OS X built in. So I don’t buy that either.

        For the rest, we are now into fantasy land territory about what evil things Microsoft may or may not do in the future… Not exactly my thing. And exactly the kind of thing that I hate about linux: its community spreading crackpot FUD theories to discredit Microsoft.

        The issues with drivers on linux and OS X are part of the OS design (or lack thereof), and I don’t see them fixing that anytime soon. Especially the linux world is notoriously in denial about any deficiencies their kernel has. You can’t fix what you don’t admit is broken. And they don’t accept nVidia improving linux either, because nVidia doesn’t provide open source drivers (who cares?). I did a blog on that a while ago, where Torvalds was cussing out nVidia, for a problem that was actually caused by a lack of proper driver interface in linux, not by nVidia (which I would say is Torvalds’ responsibility in the first place): https://scalibq.wordpress.com/2012/06/18/voice-of-reason-quite/

        I also think you got me somewhat wrong. While I think linux is lousy desktop OS, and only idiots would pick it over a more mature solution, I still develop software for it. Just because it’s not a lot of extra effort. For me, OS X may be about as important a market as Windows is. And since I need an OpenGL renderer anyway for OS X, it’s not too much work to port the whole thing over to linux and FreeBSD either.
        But, developing for all these platforms makes me very much aware of how much better Windows/Direct3D really is. And that’s the point I’m making here, really: why even bother to argue anymore? When it comes to gaming/realtime graphics, it’s not even close.

  6. I can’t seem to reply directly? Odd.

    Yes I get what you mean now. Windows+DirectX knock OpenGL+anythings socks off, I was meaning in my replies that this OpenGL resurgence is largely because it does seem to be improving, not catching up, but going in the right direction. So it’s getting the support that you’d hope the only cross platform rendering API would. Whilst Linus (who I agree is an ass) can rant and rave about nVidia etc Ubuntu is by far the most popular distro in the Linux desktop space and is happy to work with them and fund improvements to the graphics stack and kernel.

    Hah I think we’re actually mostly in agreement 🙂 Except for the MS FUD thing, I really do wonder what they’ll do with DirectX12 / Windows9 / App-Store. We should never underestimate MS’s ability to shoot itself in the foot!

    Perhaps resurgence is the wrong word, but OpenGL is getting a lot of support right now from a wide range of companies across just about everything. The argument about what’s faster is clearly wrong in the general case since it’s DirectX, but even the performance is getting better on Linux, and will continue to do so. No matter how much Linus rants.

    • Scali says:

      (Yea, the level of nesting is quite limited in the comments)

      OpenGL is still chugging along, but not sure if it is the right direction though. Projects such as Gallium3D are still largely ignored, and the API updates are still mainly incremental, rather than just introducing a rigorous next-generation interface as Microsoft did with Direct3D a few times.
      At least they keep up feature-wise, the rest is mainly a performance issue.

      And yes, linux is being held back by all the different parties involved, who each have their own idea of what linux should or should not be.

      As for FUD, well, perhaps we don’t agree on that… but empirical evidence is on my side. For example, with Vista/Longhorn there was a lot of FUD about how Vista allegedly would no longer support OpenGL. In reality, Microsoft merely removed the software implementation of OpenGL, which was completely useless anyway, because of lack of features and performance. With Windows 8, there was a lot of FUD about how Win8 would no longer have a desktop, or how you could no longer install software outside of the app store and whatever. But, again, no such thing. All Windows software still works fine (even faster than on Windows 7 actually), and can be installed just as before.

      Sure, Microsoft COULD shoot themselves in the foot anytime, but let’s wait and see. DirectX 11 and Windows 8 are still quite new, and DX12/Win9 are still some ways off. We’ll cross that bridge when we get there. As I tried to say with my list of early computers: if the grass is greener on the other side, I will just switch. There’s no point in clinging to a certain OS or hardware platform when there are better alternatives out there.

  7. MacOS9 says:

    Nice to see another refreshing article on the merits of various OSes (or lack thereof).

    Have to agree with Scali that, as I mentioned in some other post on some other discussion page regarding Linux on here – hardcore gamers shouldn’t bother with anything other than Windows. We Macheads on the other hand play the odd game or two and get by somehow, but also, in terms of stability, I don’t think the various Linux iterations are quite there yet – either when compared to OS X or Windows…another reason I suppose not to bother with Linux on the desktop. (To be fair, I have LinuxMint 13 running in VirtualBox but I wouldn’t dare slapping it directly on my Mac hardware – might be a nightmare to get everything working then.)

    Two questions as I conclude my post:

    (a) for Scali: Is Windows 7 lighter on resources than Windows 8?? (can’t decide on what version to dual-boot on my Mac, Core 2 Duo by the way)

    (b) for the Copland fellow: Any thoughts on LinuxMint?? (I see you mentioning Ubuntu but it’s now supposedly less popular than the minty people)

  8. Pingback: What is a platform anyway? | Scali's OpenBlog™

  9. MacOS9 says:

    Thanks for the response Scali; will try out Windows 8 if it’s supported in my version of BootCamp. Hmm, no word from Copland on LinuxMint….oh well.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s