vacancies advertise contact news tip The Vault
EPIC HEXUS COMPETITION: Win a Moto 360 or Omate X smartwatch.! [x]
facebook rss twitter

Review: NVIDIA ForceWare 70 and 75 MIP Boundary Shimmering with GeForce 7800 GT and GTX

by Ryszard Sommefeldt on 2 September 2005, 00:00

Quick Link: HEXUS.net/qabqn

Add to My Vault: x

Bug-fix driver 78.03

NVIDIA's response to the complaints from various parties wasn't swift, but the result is a fairly comprehensive fix for the issue. NVIDIA recently issued the 78.03 ForceWare graphics driver to anyone with access to their Partners site. The driver has two specific fixes, one for texture filtering issues in High Quality mode and one for their profiles system where global profile settings had to be used instead of per-executable fixes. The first fix is the one we're interested in.

Here's another video with the same caveats applying so you can see the fix properly.

HEXUS.note

HEXUS have videos available that graphically demonstrate the effect in motion. We're working on securing a provider for the videos to allow us to make them freely available if you don't have GeForce 6 or 7-series hardware to reproduce the bug yourself, but until then we'll have to ask those that genuinely would like a look at the videos to drop a quick email to care@HEXUS.net with a request for the links. We'll get rid of this screening as soon as we've got a more permanent location for them where bandwidth isn't an issue.
78.03 video

As you can see, there's still a very small amount of texture shimmering shown in the video. That applies to the game too, of course, but it's significantly less noticeable in 78.03 and the High Quality mode fix is generally a good one. Testing in other games shows the same thing with either none, or very small amounts of visible MIP boundary shimmering.

Remember that in High Quality mode, NVIDIA turns off both anisotropic filtering optimisations that it has (point filtering the anisotropic samples instead of bilinearly filtering, and using sample optimisation on everything but the first texture stage - a particularly evil optimisation in this reviewer's opinion!), along with their trilinear filtering optimisation (using bilinear for filtering higher LOD) so their texel sampling positions should be the only thing responsible for the boundary appearing to shimmer.

And of course enabling a this 'fixed' High Quality mode has a performance hit due to simply having to sample more texels to get filter quality right.

The performance hit

We've chosen Half-Life 2 again since it's a popular game and the framerate hit you'll see in the graph is consistent with most of the other graphs we could show. It all depends on the amount of texture mapping a game performs, and the amount of fragment shader programs it runs. In today's shader-heavy games, the hardware can almost hide texture sampling latency by running fragment programs worth thousands of cycles in parallel with texturing operations. NVIDIA's claim that the bug fix is not too detrimental to performance is therefore mostly correct.

Performance

The difference in performance is less than 5% in High Quality mode at 1600x1200, with a performance drop similar at the other two resolutions. The difference in real-world gameplay, tested using a couple of titles including Half-Life 2, is undetectable. The image quality difference in HQ mode is like night and day, however.

The performance difference between Quality and High Quality is such that there's no reason to choose Quality on the 7800 GT or GTX at all. Play with the card at HQ with minimal performance hit and the best IQ the hardware has to offer.

This brings us nicely on to asking NVIDIA why such a 'bug' made it out of driver Q&A, and why they're happy to recommend image quality of Quality mode to reviewers, when turning on High Quality is definitely the recommended way to run the hardware.

HEXUS.note

Note that the original performance graphs shown upon publication showed the 78.03 driver benchmarks with transparency anti-aliasing and gamma-correct anti-aliasing enabled. That's a reviewer bug, not a driver bug.