Saturday, August 06, 2005

Why I Hate Microsoft So Much

Checking my collection of RSS feeds, I saw something that blew my mind. Slashdot is reporting that Windows Vista, the successor to Windows XP, will implement OpenGL by first translating it to Direct3D code and then executing it as Direct3D code. This means that Windows Vista will run Direct3D games much faster than it runs OpenGL games.

OpenGL is an open standard supported on Macs, Linux, and many other platforms. Direct3D is a proprietary non-standard that works only on Microsoft Windows and Xbox. John Carmack, considered by many in the videogaming world to be one of the greatest programmers alive, has written about the superiority of OpenGL and how much Direct3D sucks. In his 12/23/96 .plan update, he wrote that “OpenGL seems to work just fine for everything from quake to softimage. There is no good technical reason for the existance of D3D.”

Writing a game to support both OpenGL and Direct3D means writing the graphics engine twice. How many developers will bother? Essentially, Microsoft is now forcing game developers to choose between having their games run at decent speeds on Windows and being able to port their games to other operating systems. Furthermore, a Direct3D games cannot even be emulated properly on an OpenGL-enabled operating system like Linux or OSX, because translating the Direct3D instructions to OpenGL takes a noticeable performance hit.

This is a deliberate move by Microsoft to destroy a technically superior open standard, and force developers to use its inferior proprietary alternative, simultaneously cutting off their ability to port their software to other operating systems. And this is why I hate Microsoft so much.


Post a Comment