|NVIDIA ForceWare 169.04 - Crysis demo performance and image quality|
|Image quality&heading=NVIDIA ForceWare 169.04 investigation|
|Test setup, performance|
Let's begin with the most important aspect of this investigation of all, and indeed the one which started this whole ball rolling - Image quality. For this section, we've run the Crysis single-player demo at 1280x1024 with all in-game settings 'High' quality mode on an NVIDIA GeForce 8800 GTS 640MB, using the latest ForceWare 169.04 beta driver with texture filtering also set at 'High Quality'.
First off, let's take a look at a couple of shots from a particular section of Crysis' in-game GPU benchmark - Specifically, the section where the camera veers off towards the water on the shore of the island, as this is where the issue we will be discussing is at its most prominent.
If you're wondering what to look for in these images, open them up and take a look at the reflections of the mountains in the distance on the surface of the water. As you should be able to see (particularly in the second shot), these reflections have a stretched, distorted and unnatural look to them. So, what's happening here?
The answer to this is actually far easier to explain watching this section of the Crysis timedemo in motion, but sadly this set of circumstances doesn't seem to occur when FRAPS is used to capture video, so we're unable to offer up any video evidence at present. However, to give a slightly less satisfactory textual explanation - Normally, Crysis updates the reflections on the water's surface after every few frames, so that the reflections constantly show what you are actually seeing on-screen at that time. This doesn't happen after every frame as a compromise between burning up lots of GPU cycles and making the image that you see in-game look realistic, with an update every three frames or so proving to be more or less adequate in keeping the reflection in the water looking as it should.
However, the 'stretching' effect we are seeing in the screenshots above are due to the water reflections, with any of NVIDIA's ForceWare 169.0x series of drivers in use, being updated far more infrequently - Around every ten frames or so by my calculation. This means that although your viewpoint changes, the reflections don't, thus you actually see them stretch and distort as the camera pans and changes position. Like I say, it's quite difficult to explain without seeing it in action, but believe me, it's not pretty.
Of course, this is probably just a simple driver bug that will be fixed in the next ForceWare release, right? Quite possibly, but this is where things get interesting. Let's rename the Crysis single-player demo executable to effectively disable any game-specific optimisations, to 'driverbug.exe' in our case, and take a look at a couple of screenshots from this same section of the game's timedemo after making this change.
Et voila! Rename the game executable, and the problem is fixed - The water reflections now update as they should, and everything looks simply beautiful on Crysis' desert island again.
Of course, this now begs a new question. We've now confirmed that NVIDIA's ForceWare 169.0x drivers aren't rendering one of the game's facets correctly, but what does fixing this issue mean for performance in NVIDIA's graphics boards? Given that we've just seen a major launch of a new part from the company, with the combination of these driver sets and this particular single-player demo being used prominently by many web sites, it's an important question, and one well worth looking into. It just so happens, that's exactly the territory we're heading into over the page...