ATi & nVidia in driver "optimizations" race
July 26, 2003 / by Leonidas / page 3 of 9
nVidia Optimizations (cont.)
Now the question arises, where the extra-performance comes from - that is, if image quality was sacrificed somewhere. Therefore, we recorded a small demo (the "Cheat"-Demo used for performance measurement on the previous page), which enabled us to exactly recreate a single screenshot position and thus were able to produce the following screenshots, first again without anisotropic filter (click opens lossless compressed screenshot in 1024x768 resolution):
... and now with 8x anisotropic filter (click opens lossless compressed screenshot in 1024x768 resolution):
In direct comparison the differences are clearly visible: The rear dunes on the picture of the original 44.65 nVidia driver appear to be covered with a veil of blur. Only the modified driver with the AntiCheat script removes this veil of blur and offers an appropriate image quality matching the 8x anisotropic filter setting. In this case, nVidia has clearly sacrificed a part of the image quality in order to achieve higher performance, even if this effect apparently occurs only under 8x anisotropic filter and then applies to some parts of the picture only.
In this case you will have to take a very close look to be able to identify the differences. Nevertheless differences show up at the edges to the abyss in the center and at the right border of the image when looked upon very carefully. We do not, however, consider these minor differences as very serious degradations of the image quality. Thus, we must state at this time that nVidia lowered the image quality under Unreal Tournament with an application-specific optimization in driver 44.65. This results - up to this point of the article - in only a slightly worse overall image quality.
However, there are also image quality characteristics (naturally), which cannot be caught by screenshots, because they are only visible in motion. This depends primarily on the bilinear or trilinear filtering, so the question is, how well the graduations between the individual MipMaps are covered. Actually, nothing should go wrong here, because the nVidia driver promises a clean trilinear filtering with the filter setting "Quality", with which the individual MipMaps stages should gently pass into each other. Anyway, again we took a look at the screenshots above, this time with colored MipMaps, first without anisotropic filter. The shots were produced with the command firstcoloredmip 1 (click opens for lossless compressed screenshot in 1024x768er resolution):
... and then with 8x anisotropic filter (click opens lossless compressed screenshot in 1024x768 resolution):
Now this is, indeed, a surprising result. Because nVidia obviously don't use the normal trilinear filter here - particularly only in Unreal Tournament 2003 - but apparently a bilinear filter with a small portion of trilinear filtering, ergo a pseudo trilinear filter. Thus, it becomes finally clear, where the partial high performance differences between original and modified driver comes from. Using the bilinear filter costs the GeForceFX chips only half of the rendering power.
This is primarily because all GeForceFX chips have only bilinear texture units. For trilinear filtering either both texture units or two rendering passes are used. In short: With MultiTexturing and/or with anisotropic filtering the filling rate and therefore the computing power of the graphic chip is cut in half with trilinear filtering. By dramatically reducing the fraction of trilinear filtering in Unreal Tournament 2003 by nVidia, a substantial amount of fillrate is spared.
We only estimated (not mathematically checked!) the following: When regarding full trilinear filtering once as 100 percent performance, for bilinear filtering only 50 percent performance would naturally be necessary. For nVidia's "optimized" method for Unreal Tournament 2003 this would perhaps result in only approx. 60-65 percent need of performance. The mip-banding (transition between two MipMaps) is nevertheless still covered quite well by the narrow trilinear range.
In addition the colored screenshots show, under anisotropic filtering, that with the "optimization",in some cases the first mip-stages already start noticeably closer (earlier) (does not always apply according to other screenshots taken by us). This is not the correct way the filtering with mipmapping should work. By the way, this is the explanation for the image quality difference in these places, which can be seen on the "real" screenshots.