The Microsoft DirectX Window System (nicknamed "direct hex" by programmers) is an implementation of the X Window System for, unsurprisingly, Windows. It offers superior video output performance on the ATI and NVidia processors and inferior video output performance on all other processors, including the ones from AMD and Intel. It should be noted that Microsoft doesn't participate in either holy war, instead preferring to remain completely neutral in the question of vendor preference. For another example of Microsoft's neutrality, see x64
DirectX differs from the official X implementation, which is stolen from XFree86, in the following minor details:
* It isn't stolen. Theoretically, nobody can steal it as well, and practically, nobody cares. Occasionally, the Free Sockpuppet Foundation goes nuts and shouts, "You Wine heretics, you stole it all, you gave up to the evil empire, we're doooomed!!" but it's been quite a while since anyone actually listened to them.
* It has made Ctrl-Alt-Del a well-known key combo.
* It is object-oriented to the point of granularity, passing thru your hands if not micromanaged a small grain at a time in order to produce the smallest of inputs. Its object orientation is language-independent, but crappy in the one true language. Unless you manage to find a cool wrapper library, which will immediately slow down performance almost to the point when you forget about your games and enjoy a slideshow.
* It is easy to use. Seriously. You only need to download a 200 MB SDK and forever forget about these*** stupid->IID_IPointers. It's slightly easier to use than OpenGL without downloading the SDK, which is a significant argument in favor of DirectX as downloading an SDK is no longer a problem in the digital millennium. Until you try to port your application.
* It doesn't include a window management system, there is already one in Windows and we are trying to be as minimalistic as possible. You cannot find an X system distribution as small as 20 MB which includes everything you ever need, including Direct1D, Direct2D DirectDraw, Direct3D, Direct4D, DirectSound, DirectShow, DirectHide, DirectInput, DirectPrint, DirectCD, DirectUSB and all the other subsystems for "direct"-ly (through a small, small hardware abstraction layer called Windows device driver and Win32 API) accessing all imaginable hardware. Until the vendor once again misconfigures the driver. But hey, it's not Microsoft's fault.
* Windows Vista finally bundles a DirectX window manager called Aero, which is a significant improvement over the best X window managers on Earth, such as TWM. From this point, DirectX/Aero will support OpenGL natively, eliminating the extra layer called ICD, for a small performance overhead of 50%. (Some say that ICDs can still be used, but Microsoft predicts that nobody will want to have these beautiful, eye-candy window borders to be even temporarily disabled to run some lame attempt on producing a 3D graphics library.
* It does run on your new video card, which is a vast improvement over the official X. The only drawback is that by the time you cover the security holes in the only system it supports one true system, it will be obsolete by at least a dozen new video cards, and all the coolest DirectX business applications will refuse to run on your card, but will run just fine on the card immediately succeeding yours. Until you install that one.
* Unlike X and its evil NPOV'ized some-say-that-it-is-evil spawn OpenGL, whose goal is not to add any functionality unless the hardware vendors and end users are rioting around your company's headquarters, the goal of DirectX is to add as much objects, function calls, layers of abstraction and obfuscated code as possible, regardless of whether any currently existing hardware is actually capable of understanding what DirectX wants from it, let alone doing what's asked. This clearly shows that Microsoft is thinking of the future and introducing innovation, quantity obscuring quality.
Oscar Wilde's favorite color (blue) shows up regularly as it crashes, along with a broken curse written in hex known as a "hex dump". DirectX