Detonator Driver Filtering Quality
This thread examines texture filtering on a GeForceFX. It does not really apply to earlier GeForce cards, only to GeForceFX cards. GeForce3/4 cards have output equal to screenshots of driver 43.45 with Intellisample set to Application. The same applies to GeForce1/2 cards, with the exception that they are limited to 2x AF.
Bilinear filtering: this is the base filtering used in games. The big problem with bilinear filtering is that it exhibits something known as mipmap banding. You will be able to see the different mipmap levels on the screen, so you will see alternating layers on the screen where everything in that layer is blurry, the next clear, the next blurry, etc. This effect will be most noticeable in motion.
Trilinear filtering: a more advanced form of texture filtering which uses additional samples to blend the mipmap levels together. This gets rid of mipmap banding. The areas closest to you will be sharp and detailed and you lose progressively lose detail until you hit blur.
Anisotropic filtering: the most advanced form of texture filtering which will push the mipmap levels back further.
Brilinear filtering: this term was coined to explain the filtering done by NVIDIA that replaced true trilinear filtering in newer drivers. Essentially there is less blending of mipmap levels. For readabilities's sake, the word "brilinear" will appear in italics from this point on.
All screenshots were taken with a GeForceFX5900Ultra with various drivers. The left side of each image shows texture stage 0, and the right side shows texture stages 1-7. Degree of anisotropic filtering is given, followed by which setting the Intellisample slider was at. The naming scheme of the Intellisample settings changes between drivers, but the best image quality setting of the three is always listed left to right.
Important: NVIDIA's Intellisample settings do not force the level of filtering. They merely expose a cap on the maximum achievable filtering. In other words, it can only force lower image quality.
0x AF: Application | Quality | Performance
2x AF: Application | Quality | Performance
4x AF: Application | Quality | Performance
8x AF: Application | Quality | Performance
All drivers up to 43.45 use these patterns. Application sets a maximum of trilinear, Quality has a maximum of brilinear, and Performance effectively uses bilinear.
0x AF: Quality | Balanced | Performance
2x AF: Quality | Balanced | Performance
4x AF: Quality | Balanced | Performance
8x AF: Quality | Balanced | Performance
43.51's Quality mode is slightly inferior to 43.45's Application mode. 43.51's trilinear filtering is not quite as good as 43.45's. There is ever so slightly less blending of the mipmap levels.
43.51's Balanced mode handles 45 degree angles in 2x and 4x better than 43.45's Quality mode. 43.51's Balanced 8x has a better filtering pattern than 43.45's Quality 8x. However, in 43.45 Quality was using brilinear. Balanced in 43.51 has almost resorted to doing straight bilinear.
43.51's Performance mode has significantly better filtering patterns than 43.45's Performance mode. It now has the same filtering quality as 43.51's Balanced though, in other words, almost complete bilinear.
Filtering quality has decreased across the board for all settings, while the two lower levels of Intellisample, Balanced and Performance, have improved sampling patterns. D3D and OGL quality is the same.
There is special case filtering being done in the game Unreal Tournament 2003. You can view the filtering patterns used in UT2003 by renaming the texture filtering application to "ut2003.exe," these changes are obviously triggered by the filename. This is the frist driver that this occurs in. This only works in D3D.
"ut2003" 0x AF: Quality
"ut2003" 2x AF: Quality
"ut2003" 4x AF: Quality
"ut2003" 8x AF: Quality
Brilinear from 43.45 replaces the trilinear filtering we normally would expect from 43.51's Quality mode, while the filtering patterns stay intact. Balanced and Performance are unaffected.
44.03, 44.65, 44.67
Standard filtering quality is the same as it was in 43.51. D3D and OGL quality is the same. However, "ut2003" quality takes an interesting twist, as you can see below.
"ut2003" 0x AF: Quality | Performance | High Performance
"ut2003" 2x AF: Quality | Performance | High Performance
"ut2003" 4x AF: Quality | Performance | High Performance
"ut2003" 8x AF: Quality | Performance | High Performance
This is the first time that we see the drivers treating texture stages differently. Brilinear filtering is used on texture stage 0, while texture stages 1-7 receive some level of bilinear filtering. Performance and High Performance have no change from normal operation while AF is disabled.
In Quality mode, you can see that texture stage 0 has the same brilinear filtering as 43.51's UT2003 filtering quality. In addition to that, no matter what level of AF is selected, only 2x AF will be used on texture stages 1-7, with a bilinear filtering quality between 43.45's Performance and 43.51's Performance modes.
When AF is enabled in Performance mode, straight bilinear filtering is being done on all texture stages. A maximum of 2x bilinear filtering is used on texture stages 1-7 despite the degree of AF being used.
When AF is enabled in High Performance mode, straight bilinear filtering is being done again on all texture stages. Texture stages 1-7 always receive 0x AF(ie, no AF).
44.90, 45.20, 45.23, 44.33
Same as 44.03, except that renaming the filtering test application "ut2003" doesn't work anymore. From this point on, this post is not relevant to what is being done in UT2003. In other words, UT2003 may or may not follow what is being shown from here on out.
Texture stage optimization has now found its way to all D3D applications, as shown below. D3D and OGL quality is NOT the same. OGL has no texture stage optimizations, and OGL filtering is the same as it was in 43.51.
0x AF: Quality | Performance | High Performance
2x AF: Quality | Performance | High Performance
4x AF: Quality | Performance | High Performance
8x AF: Quality | Performance | High Performance
In Quality mode, trilinear filtering is being done on texture stage 0 when AF is off. Brilinear filtering is being done on texture stages 1-7. When AF is on, texture stages 1-7 get 2x brilinear, no matter what degree of AF is selected.
Performance mode acts normally except that on texture stages 1-7 a maximum of 2x Performance AF is used.
High Performance is like Performance mode, texture stage 0 stays the same, but texture stages 1-7 never receive AF.
52.13, 52.14, 52.16
With this driver we see a few changes. If you select "application-controlled" instead of forcing a particular level of AF on(0x...8x) you will get different levels of quality between the two. D3D and OGL quality is NOT the same. OGL has no texture stage optimizations, and OGL filtering is the same as it was in 43.51.
0x AF app: Quality | Performance | High Performance
2x AF app: Quality | Performance | High Performance
4x AF app: Quality | Performance | High Performance
8x AF app: Quality | Performance | High Performance
When the driver is set to let the application decide what AF to use, there will be no texture stage optimizations by default. You can see that in all three Intellisample modes the quality of each texture stage is the same. We see that Quality mode no longer does trilinear, but does brilinear instead. In fact, the IQ in 52.13's Quality mode is only slightly better than that of the optimized "ut2003" brilinear filtering as will be illustrated better later. Performance and High Performance are identical to previous Performance and High Performance modes; there are no changes in these settings.
If AF is forced in the control panel there are texture stage optimizations.
0x AF cp: Quality | Performance | High Performance
2x AF cp: Quality | Performance | High Performance
4x AF cp: Quality | Performance | High Performance
8x AF cp: Quality | Performance | High Performance
In Quality mode with 0x AF forced in the control panel, texture stages 0-7 get the regular 52.13 filtering quality. When 2x AF is forced, texture stage 0 gets standard 52.13 filtering quality and texture stages 1-7 get "ut2003" brilinear 2x AF. You can see that the left side of these images has slightly better filtering than the right side. For 4x and 8x AF you get normal filtering and full degree AF on texture stage 0 and "ut2003" brilinear 2x AF on texture stages 1-7.
Performance and High Performance modes behave exactly like 44.03's "ut2003" Performance and High Performance modes.
43.45 and older drivers offered the highest image quality attainable with a GeForceFX. The most current drivers you can download today will give you quality slightly better than the old special case UT2003 filtering in the best case, which incidently is the same filtering style as NVIDIA's old Intellisample: Balanced setting(known as Quality in 43.45 and Balanced in older drivers). 43.51 offers better quality in most D3D games than 52.13 does, except for UT2003.
In practice, the new brilinear introduced in 52.xx may not have the mipmap transition problems that the original brilinear had(which were already hard to see). In many/most/all situations there may be no discernable difference between the new brilinear and trilinear. This will of course depend on the game(textures), and the player(eyes). I myself could detect the difference between trilinear and the old brilinear, but not the new brilinear.
Oh, and BY THE WAY.
Stealth is insane. Completely, utterly, insane.
SH: "You think I could make NV30 drivers run on NV35?"
Me: "Well... uhhh... I guess you could add it to the INF and hope for the best, but I doubt it will work."
*ten minutes later*
SH: "BWAHAHAHAHAHAHAHA! IT LIVES!"
lies... all lies..
stealth is my precioussssss !!!
Nice thread. Good Job.
Very nice work Stealth,
Now I know what driver set I would be running if I had a Nv card.
Now can I get a similar report on Cats?
Please, pretty please?
Ive often wondered about it.
all links are down.
stealth.. can the images be hosted on the nvnews server or does it consume too much space?
btw... did you guys comment on my news suggestion from last week ?
Re: Detonator Driver Filtering Quality
8xAF per application/8xAF per Control Panel
I have uploaded 3 shots of UT2k3 using 8xAF-quality per application and 3 shots of UT2k3 with 8xAF-quality per CP. Seems to me these new drivers are using the right AF on stages 1-7 through the COntrol Panel.
I've also uploaded a shot used by 3dcenter.org which shows the 45.23's 8xAF-quality per application.
I'm seeing some strange things though. Using the AFtester program, it shows that using Control Panel 8xAF forces 2xAF on stages 1-7. But looking at those shots from UT2k3, 8xAF CP is really using 8xAF. Strange though, the only difference between the per application/ Control panel shots is the sky in the background.
|All times are GMT -5. The time now is 09:05 PM.|
Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright ©1998 - 2014, nV News.