Originariamente inviato da hkepcAs a milestone of graphical technology, DirectX 10 is expected to rule the future game together with Windows Vista. We have interviewed ATi’s Senior Product Manager of Desktop Discrete Graphics, Stan Ossias about the upcoming DirectX10 and Unified Shading architecture last week.
DirectX 9 and today’s hardware impose a number of unique constraints on game developers.
Every character, weapon, material, etc. in a game is an object, and each frame of a 3D game, there can be hundreds of objects. Object have to pass from the application, to the DirectX 9 API, through to the driver, which prepares the data in order for the hardware to process it and output a 3D image to a monitor. Every time an object is passed through the API, DirectX adds overhead which consists of instructions and setting for the driver. The more is the object, the more is the overhead that needs to be processed. The additional overhead can mean a hit on performance. As a result, developers have to be very creative in how they use objects in order to keep the game playing at a satisfactory rate. Stan indicates that games in today use execution time being divided between 40% for the API and driver, and 60% for the game itself. DirectX 10 is designed to reduce much of the overhead by introducing Dynamic indexing state and loading state snapshots automatically. Thus the game itself could now spare 80% of the procession, allowing developers to put more objects into their games to make it more realistic.
Featured Shader Model 4.0, DirectX 10 provides 32Bit color depth unified pixel rendering to satisfy any range of game design. Besides, DirectX 10 enables developers to handle physics calculation and audio part more easily. It also benefits to CAD/CAM and special effect designers!
In order to fully squeeze the power, Stan indicated that the next generation of graphic card would introduce unified shading architecture. For traditional GPU, Vertex Shader and Pixel Shader processing are dedicated by different engines. Figure below show an example of the utilization of two different engines in processing. It’s possible that Vertex Shader is only partially loaded while Pixel Shader is fully loaded, and vice versa. In DirectX 10, they are further separated into Vertex Shader, Geometry Shader, and Pixel Shader. The Unified Shader architecture is therefore recommended by Microsoft to execute vertex, geometry and pixel in the same engine, maximizing shader performance efficiencies.
The concept of Unified Shader architecture makes GPU’s role moving from game rendering to game computing. It’s suitable for Heterogeneous Computing like Physics calculation, video encoding, etc., making graphic card be more applicable in different field of applications.
Games are being developed today for ATI’s Unified Shading Architecture on XBox360. Stan said with confident that ATi could develop the first DirectX 10 based GPU with Unified Shader architecture for PC. He expected that as DirectX 10 supports for both Xbox360 and PC platform, providing standard interface like DirectPlay, Direct Input, and DirectMusic, developers could easily develop games for both platforms, making a win-win situation.