Gainward FX PowerPack! Ultra/1800 XP Review - Page 5 of 9
By Clay Angelly - February 1, 2004
HALO
I'd hoped to do some in-game benchmarking by following a set path and using
FRAPS. However, I never received consistent results. I could retrace my steps
very closely (even for just a 20 second romp with no enemy contact) and yet the
resulting frames per second would vary by 15fps or more. So, I used the game's
built-in timedemo. It's not perfect but it's better than nothing.
In hopes to appease those of you that aren't fans of the game's timedemo, I did
at least include results from all rendering paths and at two different
resolutions. Below are screenshots of the video and audio settings used.
Halo Video Settings
Halo Audio Settings
The results below are what you'd expect. Some may think that the PS2.0
results are surprisingly on par with the PS1.4 results. However, this is
actually expected because there doesn't appear to be a huge difference between
PS1.4 and PS2.0 implementation within Halo as stated in the
Halo PC technical and performance FAQ:
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.
So, that's why there's no difference between the PS2.0 and PS1.4 shader path
scores. Except for some specific cases there really is no glaring visual difference
between the two either. Note: I dropped my overclocking down to 540/1020 as 555/1050
brought about some artifacting but no crashing of the game.
Halo Benchmark Results @ 540/1020
As you can see, there is roughly a 50% performance hit between 1024x768 and
1600x1200 in all but the FF path where that delta is closer to 15%.
The following is from one of Mike's previous reviews. I include it here for
easier reference for those of you that may not be too familiar with the
rendering paths.
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.
SCREENSHOTS
Below are a few composite screenshots that show some interesting comparisons
to the four rendering paths. There is an enormous difference between the Fixed
Function (DX7) path and the other three paths. In fact, the differences
between PS1.1, PS1.4 and PS2.0 are negligible at best. Granted, Halo doesn't
heavily implement PS2.0 effects but based on what we see here there's really no
difference.
This first composite is from slightly different angles but they are close enough
to show comparisons. You can see drastic differences in the bump mapping on the
bridge, overall lighting effects and the water in the background.1600x1200 PNG ~ 2.63MB
Halo Rendering Path Comparison 1 of 2
This next composite is all from the exact same angle. Lighting is also a
major difference here. The DX7 part of the composite has completely different
colors as a result and is just drab in appearance overall. Another big
difference is that of the smoke/fog effects in the middle ground. Notice how the
DX7 version renders the smoke as much more opaque whereas the other paths show
its more accurate translucent appearance. The final point of interest here is
that of the red light in the ceiling. In the game this light pulses so that
could be why the DX9 path appears brighter since the screenshot could not be
taken of a specific frame in each case. Despite this, that light did appear to
be "cleaner" in the DX9 path than it did in the other paths.1600x1200 PNG ~ 1.22MB