THG Graphics Card Buyer's Guide

Direct X 9 Class

FarCry can be considered the first game that makes consistent use of shaders. Thanks to DirectX 9, the surfaces look very realistic and react to changes in lighting, throw believable shadows, and more. The game's environment seems very "alive."

Microsoft's current 3D API is DirectX 9, which permits even more freedom in shader programming than DirectX 8, and also allows for longer and more complex shaders. It also introduces the floating-point data model, which allows for detail calculations that are much more exact.

ATI and NVIDIA are the two companies that dominate the consumer 3D market, and their cards offer varying levels of precision. While ATI's processors use 24 bit precision across the board, NVIDIA's cards also support 16 bit and 32 bit floating point modes (as well as some other FF formats). The rule of thumb here is simple: "the higher the precision, the more complex the calculation." Which data format is required depends greatly on the effect that is to be created - not every effect requires the highest available precision.

DirectX 9 also incorporates several pixel shader models. First there is the original SM 2.0, to which the evolutionary SM 2.0a and 2.0b were later added. SM 3.0 is a completely new and very recent addition, which is supported starting with DirectX 9.0c. Currently, only NVIDIA's GeForce 6xxx line of graphics processors can make use of SM 3.0.

If you would like to find out more about the various DirectX versions and the associated shader models, you will find lots of relevant information at the following sites:

It is important to note that you can't fully assess the graphics of a game solely by the DirectX version it uses. For example, DirectX 8 shaders can be used to implement many of the effects used these days, which can bring even cutting-edge graphics processors to their knees. Game developers strive to use as low a DirectX version as possible, so they can target as large an audience as possible. How much computing power a shader will end up needing depends primarily on its complexity. Finally, it should also be noted that all cards are downward compatible. Upward compatibility is only possible in the case of vertex shaders which can be calculated by the CPU, and while possible, this would be very slow.

Two screenshots of the same scene in the game FarCry; one on a GeForce 4 Ti (DX8.1) and one on a GeForce 6800 (DX9).

Bear in mind that although many entry-level cards are DirectX 9 compliant, they are unable to deliver playable frame rates due to their low processing power (more on this in section #3). In some cases, the DirectX 9 compliance also refers only to certain areas. A prime example of this is Intel's new i915G integrated graphics chipset. Although the graphics processor supports Pixel Shader 2.0 (making it DirectX 9 compliant), it offloads all vertex shader calculations to the CPU, increasing CPU load.