NVIDIA GeForce FX 5950 Ultra Preview - Page 5 Of 8
By Mike Chambers - October 28, 2003
HALO
Wow. Two years ago I was playing Halo on the Xbox with my younger son and it was an awesome gaming experience. Halo was one of the main reasons to buy an Xbox at the time since the number of games available at launch was limited. Halo featured high-resolution textures and made extensive use of bumpmapping, which gave buildings, vehicles, and other objects a highly polished look that was unmatched by other consoles games. I recall that playing Halo in co-op mode was a demanding task for the Xbox and although the frame rate was capped at 30 frames per second, there were occasions where performance was sluggish.
Halo On The Xbox - Coop Mode
Microsoft has published a Halo PC technical and performance FAQ, which contains information on the games rendering features, performance tuning, and timedemo mode. Halo supports rendering paths that make use of DirectX 9, DirectX 8.1, DirectX 8, and even DirectX 7. Here an excerpt from the FAQ:
Halo supports 4 different rendering code paths:
Pixel Shader 2.0 (DirectX 9.0)
In this code path, you are making absolutely no compromises on the visual quality of the game. You are seeing everything as best as possible, as engineered by our team. All the effects are in their most demanding form (as complex of a calculation as necessary to generate the best visual result possible).
Having said this, for many simple effects, even if you are running PS2.0, the game will automatically use a 1.4 or 1.1 shader because the visual result is exactly the same.
Pixel Shader 1.4 (DirectX 8.0)
When running in PS1.4, you are compromising only a subset of effects. Specifically:
No bumped mirrored surfaces
Some video effects are two-pass
Pixel Shader 1.1 (DirectX 8.0)
PS1.1 is probably the most widespread pixel shader version currently. When running in the PS1.1 rendering code path, the visual compromises are (in addition to the PS1.4 compromises):
No model self-illumination (excluding some specific environmental models)
No animated lightmaps
Fog calculations are triangle based, not pixel based
No specular lights
Hardware T&L (Fixed Function - DirectX 7.0)
This is the most basic rendering code path for Halo. When running in that mode, you have to accept many visual compromises but are still getting a compelling Halo visual experience. The compromises are:
No shadows
Simple active camouflage effect
No glows or flares
Very basic fog, water and lighting
Note that you can always scale down your video card but you can’t scale up. Check your video card’s documentation to determine witch version of DirectX / pixel shaders it supports. If, for example, your card supports PS2.0, you can choose to compromise many of Halo’s effects by forcing it to run PS1.1. However, if your card supports PS1.1, you can’t force it to PS2.0 – this is actually happening in hardware, not in software.
The Halo timedemo can be run in each of the four rendering modes by adding a command line variable to the shortcut to the Halo executable. For example:
This string of command line variables will launch Halo in timedemo mode with sound disabled, use pixel shader version 2.0, at resolution of 1280x1024 and a 72Hz refresh rate. The shader option for pixel shader 1.4 is -use14 and for pixel shader 1.1 is -use 1.1.
BENCHMARK / GAMEPLAY PERFORMANCE
In this series of tests, timedemos were run on the GeForce FX 5950 and Radeon 9800 Pro with sound disabled at resolutions of 1024x768, 1280x1024, and 1600x1200 using the pixel shader 2.0, 1.4, and 1.1 code paths. Note that according to ExtremeTech's "Benchmarking with Halo PC", Halo makes use of partial-precision hints, which allows the GeForce FX to use faster 16-bit floating point operations.
Halo - 1024x768 - No AA - No AF
The results indicate that both graphics cards are evenly matched, while obtaining adequate gameplay performance appears to be limited to a resolution of 1024x768 when run with pixel shader 2.0 effects. Let's see if that's the case by performing a couple of brief gameplay tests.
Halo Gameplay - 1024x768 - No AA - No AF
The graph below plots the frame rate per second from the gameplay results with specular lighting enabled on the GeForce FX 5950 Ultra. Ideally, we would like to see frame rates that hover around 60 frames per second with a minimal number of occurrences near the minimum frame rate.
Halo Gameplay - 1024x768 - No AA - No AF
These results are probably close to a worst case scenario. I've played a number of maps online at a resolution of 1024x768 with 2X AF on the GeForce FX 5950 Ultra. While frame rates will dip in the low 20s during periods of heavy action, the frame rate remains in the range of 40-60 for the most part. You'll get a significant increase in performance by disabling specular lights,
Halo - No Specular Lights
But you'll also be giving up some very attractive special effects.
Halo - Specular Lighting
All in all, I've found Halo for the PC to be a pretty good game. With the GeForce FX 5950 Ultra and a high-end CPU, you'll get good gameplay at a resolution of 1024x768 with all the high quality graphics settings enabled. Here are a few screenshots I put together.