3dfx Driver Build 1.04.01: Increased Performance and Hidden Surface Removal (HSR) for the Voodoo4 and Voodoo5
by Matthew Witheiler on December 14, 2000 1:55 AM EST- Posted in
- GPUs
Problems with HSR
Before we get to the benchmarks, let's take a look at some of the problems that surfaced when enabling hidden surface removal.
As we mentioned before, the hidden surface removal setting in the 1.04.01 driver build is not only unofficial, it is hidden. Therefore, it is not a surprise that enabling the setting seems to cause a variety of problems. The main problem that appeared during testing was the removal of the wrong surfaces. As discussed before, the HSR setting is supposed to remove polygons that are not visible in a rendered scene, thus decreasing work and increasing rendering speed. Due to the immature nature of the HSR setting, it seems that the Voodoo drivers get confused on which surfaces to remove. This results in the removal of the front surface and the appearance of items that should be invisible. For example, when facing a wall with a room behind it, enabling HSR in some instances resulted in seeing items in the room behind the wall. As a picture is worth a thousand words, below are two examples of exactly what we saw.
As the above pictures show, surfaces that should be visible are replaced with those that should not be. The above pictures show the affects of improper surface removal on the floor, but the same problem was also noted in walls with rooms behind them. Also, the scene is not constantly rendered with the same surfaces missing, causing a flashing of sorts of the missing surfaces.
The second problem we noted under some HSR settings was very jumpy or choppy game play despite high FPS ratings. This means that in some cases (noted in the test results with an *) the FPS rating put out by the demo001 benchmark are not an accurate display of what the user will see.
The above pictures may be worth a thousand words, but a movie is worth even more. In order to fully understand what goes on when HSR causes problems, it is necessary to see exactly what is being rendered on the screen. In order to show this, we recorded a series of three 5 second movies that show the problems we experienced during gameplay. The first movie shows some of the lesser errors that improper HSR caused. The second movie shows some of the more serious errors that some HSR settings caused. Finally, the third movie shows the worst problems we experienced when using HSR.
We highly suggest that you download the above movies to get a realistic idea of what happens during gameplay under some HSR instances. Each movie is 1.86MB but is well worth the download.
The second problem that the current implementation of HSR consists of is the lack of support under any game but Quake III Arena. Although we expected the HSR settings to work in all OpenGL based games, our testing showed that not only did HSR not do anything under the D3D based Unreal Tournament, it also did nothing to our other OpenGL based game, MDK2.
Why this is we do not know, and since 3dfx refuses to comment on the matter, it may be quite some time before we understand why HSR is not supported under other OpenGL based games. Until then, we can see what kind of difference this early implementation of HSR results in under Quake III Arena.
Note: Throughout the benchmark graphs, one should pay attention to the *'s next to a number, if any. A single * means that the gameplay was relatively undesirable, with some see though surfaces at times. Two *'s (**) means that the gameplay was very jumpy with many see through textures, making gameplay very borderline and not desirable at all. Three *'s (***) means that gameplay was very jumpy with many see through textures and unplayable.
0 Comments
View All Comments