Video Card: MSI FX-5900 (TD-128) :: Features

Author: Doc Overclock · 07-15-2003 · Category: Hardware - Video Cards
Motherboards.org Editor's Choice Winner

MSI GEFORCE FX 5900 Features<\h4>
  • GEFORCEFX 5900 GPU
  • 400/800 core/memory clocks
  • Intellisample HCT technology
  • Ultra Shadows
  • 256-bit memory bus
  • FillRate 3.2 Billion Texels/second
  • Pixels per clock 8 peak
  • CINEFX 2.0 shaders
  • 128-bit color precision

The GEFORCE FX 5900 has a core clock speed of 400 MHz and a memory clock speed of 800 MHz effective DDR. The previous top of the line NVIDIA chip, the GEFORCE FX 5800 Ultra had a core clock of 500 MHz and a 500 MHz DDR2 memory clock. So what makes NVIDIA's 5900 faster than the 5800 Ultra? Well first you have to understand that in most cases today, performance by video cards are often limited by the memory bandwidth available to it. So, while the 5800 has a fillrate advantage of 4 Gigapixels to 3.6 Gigapixels on the 5900, the 5900 has a clear memory bandwidth advantage.

256MB of 400 MHz DDR1 memory is provided on the MSI 5900. In February, when NVIDIA released the GEFORCEFX 5800 Ultra, they fitted it with 128MB of 500 MHz DDR2 memory. At the time, and still today, high-speed DDR2 memory is very expensive when compared to DDR1. Secondly, the memory bus was 128 bit on the 5800 Ultra, for a peak theoretical memory bandwidth of 16GB/second (500 MHzx2x128 bits/8 bits/byte=16 Gigabytes). The 5900, on the other hand uses DDR1 memory on a 256-bit memory bus. This provides 25.6GB of peak theoretical memory bandwidth (400 MHzx2x256/8=25.6 GB/second).

When NVIDIA introduced the GEFORCEFX family last year, they also introduced their CineFX architecture. The CineFX architecture goes beyond the Pixel Shader 2.0 and Vertex Shader 2.0 standards in DirectX 9.0, Microsoft's latest API (Application Programming Interface), supports 12 bit integer, 16 bit per color component precision, 32 bit per color component precision and many other features that are new to NVIDIA cards.

So what is Pixel Shader 2.0 in DirectX 9.0 anyway? Microsoft first introduced programmable pixel shaders into their API in DirectX 8.0. At that time, and until July of 2001, the only video card available that supported this exciting feature was the GEFORCE3. Programmable pixel shaders are small programs executed on pixels or fragments of a pixel to show off interesting effects, including shiny reflective water, and armor.

Most games today that use pixel shaders use them for beautiful water. If you've played Morrowind from Bethsheda Works on a card that supports DirectX 8.0 Pixel Shaders, you get a totally different experience than if you played it on an older card, such as the RADEON 7500 or GEFORCE2 series card. Beautiful clear shiny water is a mainstay in this game. Sometimes, when it's raining in the game, raindrops make a ripple on the surface of that water. Other games that use pixel shaders to good effect are: Command And Conquer Generals (the effect of the Yangtze Dam breaking in the third GLA mission was done with pixel shaders, Splinter Cell (the water) and others makes the inclusion of support for pixel shaders a necessity today.

Pixel shaders on the 5900 Ultra are capable of 1024 instructions in a single rendering pass. Previous cards were capable of only 12 instructions in a pass (GEFORCE 3/4 Titanium) 22 (RADEON 8500/9000/9100/9200) or 160 instructions in a pass (RADEON 9500/9600/9700/9800). More instructions in a pass allow for longer programs without multi-passing and more specialized effects than with shorter shader instruction lengths. We'll have to wait and see how the 5900 Ultra performs in the performance section of this review.

Vertex Shaders are small programs performed on individual vertices. Effects that can be done with vertex shaders include realistic fur, ripples in water, realistic looking animation via matrix pallete skinning and more. The GEFORCEFX 5900 is capable of 256 static vertex shader instructions in a pass and 65,536 instructions with branches and loops.

Intellisample HCT is NVIDIA's new moniker for their FSAA (Full Scene Anti Aliasing) and anisotropic filtering algorithms on the GEFORCEFX 5900 cards. So what is FSAA anyway? When a object or line is drawn onscreen, oftentimes there are "jaggies", especially when the object or line is less than a pixel wide. To help alleviate the problem of jaggies, video card manufacturers have taken to 2 main methods. First is supersampling antialiasing. This is accomplished by taking the original resolution of the screen and increasing the resolution by 2x-4x for the horizontal and 2-4x for the vertical. This method takes a lot of memory because you're rendering at a resolution higher than you're rendering then downsampling the result. Multisample antialiasing, on the other hand takes several samples (common numbers include 2x, 4x, 6x, 8x) of a pixel or group of pixels and blend the final result together.

The 5900 is capable of the following FSAA patterns: 2x Rotated Grid MultiSampling, Quincunx (where 5 samples are taken from 4 surrounding pixels and the center pixel then blended to form the final result. 4x Ordered Grid Multisampling, 4XS 2x multisampling+2x supersampling, 6XS 4x multisampling+2x supersampling, and 8x Ordered Grid Multisampling.

So what does HCT stand for? It stands for High-resolution Compression Technology. With the advent of the GEFORCEFX 5800 last year, NVIDIA introduced Intellisample technology. One of the features was a 4:1 lossless compression ratio when FSAA was enabled. Lossless means that you compress the data without any degradation of the information. With the 5900 Ultra, NVIDIA improved upon the Intellisample technology, allowing the 5900 Ultra to have up to 50% better compression than the 5800 Ultra.

The GEFORCEFX 5900 can use texture filtering to help sharpen textures in games. To explain a bit further, you should understand the concept of point sampling, bilinear filtering, trilinear filtering and anisotropic filtering. Point sampling takes the color value from the closest pixel to the center of the object being filtered. The problem becomes of course, that often color value is determined by more than one pixel which causes an error. Bilinear filtering takes the color value from the 4 closest textured pixels (texels) and interpolates the result. This is a huge improvement over point sampling, but still not good enough. Trilinear filtering ads a mip-map level to bilinear filtering, taking the color value from the 4 closest pixels to the center with 2 mip map levels on each for a total of 8 texels forming the final color value.

Anisotropic filtering takes a sampling of many more texels in the filtered area using an elliptical shape. For example, the GEFORCEFX series is capable of 8 levels of anisotropy. If you want to do bilinear anisotropic filtering, you would take samples of 4 texels closest to the center of the object being viewed and 8 texel samples from each pixel or a sample of 32 texture samples to form the final color value. For Trilinear anisotropic filtering, you would take a total of 4 closest pixels with 2 mip-map levels and 8 texels from each, or a total of 64 texel samples to form the final color value.

The other major advance with the GEFORCEFX 5900 Ultra is Ultra Shadows. For many years, game developers have limited the use of shadows in games. The problem in most hardware today is that realistic shadows can be hard to calculate over a big scene for ever more complex game situations. For every frame of a game, you need to analyze how every object reacts and interacts with multiple light sources. Imagine if you will, a simple room with a table, a chair a light and the sun coming through an open window. This is a simple scene to render right? What happens to the shadow of that chair if you move the chair? The lighting changes its direction.

How is the shadow affected by the sun streaming through the window? What happens when you shoot the light out? Or close the drapes? A simple situation with many different possibilities becomes available. What happens if that room becomes a ballroom with 100 people dancing and multiple lights and chandeliers? How does every object in that ballroom interact with the multiple different light sources? These are just some things to think about.

UltraShadows gives programmers the ability to speed up the shadowing of objects by eliminating unnecessary areas from consideration. With UltraShadow, programmers can define a bounded portion of the scene (often called depth bounds) that limits calculations of lighting source effects to objects within a specified area. So instead of doing lighting calculations on the entire scene, you can do calculations on the area that a light source most affects.

Because Stenciled shadow volumes require no texturing or color updates, the hardware "doubles up" the rendering horsepower to generate stencil shadow volumes at speeds pf uip to double the standard pixel-processing rate. Other graphics cards need two passes to render stencil shadow volumes, the 5900 Ultra can do this in one pass. UltraShadow can also "cull" unneeded shadow pixels. If a pixel doesn't contribute to the final scene, the pixel can be ignored by the 5900 making it even faster.

The 5900 is capable of 32 bit per color component floating point precision just like the 5800 Ultra, commonly referred to as 128-bit color precision. It's also capable of 16 bit per color component floating point precision and 12 bit per color component integer precision. The 5900 is also capable of mixing the various levels of precision as the developer calls for it. The higher the color precision used, the slower it is though meaning lower frame rates.

Asus P5Q LGA775 ATX Motherboard
Intel D945GCLF Desktop Board
MSI Computer K9N6PGM2-V MICRO-ATX Motherboard
Intel DP45SG LGA775 ATX Motherboard
Asrock ALIVENF6P-VSTA Micro ATX AMD Motherboard
XFX Force Geforce 750A SLI MCP AM2+ Motherboard
Gigabyte GA-EX58-UD3R ATX Desktop Motherboard
Asus Rampage II Extreme Intel X58 Chipset Motherboard
Asus P5Q-E Intel P45 Core 2 QUAD/CORE 2 Extreme Motherboard
HP 360427-001 Compaq System Motherboard