Wednesday, October 10, 2007

DX10 and its Application

Direct X 10, the selling point of Microsoft's Windows Vista, but what makes this so different from DX9? I will explain in basic terms and what it means to you; the non-developer end user.

DX10 is Microsoft's Vista exclusive API (Application Programming Interface), it boasts high-end graphics, and a radically new construction. What really makes DX10 different from DX9, is that it was not just built from the ground up, but its also a compilation of the older DirectX API's. But what really makes it awesome is how it runs; before the CPU (Central Processing Unit)would handle Physics, and Game Objects entity rendering which caused major stress on the CPU, limiting performance.

With the new API, the GPU (Graphical Processing Unit) runs the physics, the entity spawning, the rendering, etc. This boosts HUGE performance increases with the CPU, freeing up memory, thus increasing Frame Rates.

Microsoft has made it a requirement for a graphics card to be labeled DX10 compatible, is things such as: Physics processing, Unified Shader Units, etc. Before this, company's would include somethings, and leave out others to save money, but with this; company's MUST follow the guidelines or not receive a DX0 compatible seal.

DX10.1

DX10.1 is basically a patch up for DX10, small improvements such as required AA (Anti-Aliasing)and it improves on GPU usage and reduces strain on the CPU furthermore, thus increasing performance. THIS DOES NOT MAKE DX10 OBSOLETE; it is just a patch up, though a game must support DX10.1 to make advantage of the new features.

DX10 for the End User

DX10 is mostly for a Performance/Graphical upgrade, it is the real selling point for Vista, and with SP1 (Service Pack 1) coming out for Vista soon, the performance upgrade will be more apparent.

DX10 uses a Unified Shader Unit(s), which basically means the GPU will adapt the the games needs. Say a game requires more shader than physics processing units, the card will level the shader units to the correct level also the physics units level to form an even ration; Ex. Card supports 30 Units, game requires more Shader, card adapts to 20:10, shader:other.

This increases performance, and doesn't waste your units like the DX9 and below API's.

Heres some basic information from Wiki about Shader Units, etc:
http://en.wikipedia.org/wiki/Shader

Performance in Games

A game running DX10 will typically run 1.5 - 3x slower in full graphics, AA to high, etc; this is mainly because you trade off a little performance for an increase in graphics; currently the game making this the most obvious is Bioshock
, though to run DX10, you must have extremely good hardware, at least a 8800 GTS to run with mediocre to high graphics w/ DX10; though some people prefer a frame rate over 50 (the human eye cannot tell the difference over 60).

Heres a load out I recommend:

CPU - E6600+ Intel Cpu
GPU - 8800 Nvidia GTS or above
Memory - 2 Gigabytes of memory or more
Hard Drive - at least a 500 Gigabyte or more HDD
Sound Card - Creative sound card (Audigy 2ZS +)

This will allow you to play on maximum graphics with todays current DX9 games at high-resolution; and will enable medium to high graphics at a 1680x1020 resolution with DX10 enabled.

Hope this helped