PDA

View Full Version : NV40 anisotropic filtering investigation


Pages : [1] 2 3

ChrisRay
07-07-04, 10:42 PM
NV40 Filtering Investigation



Test Setup

Athlon XP 3200+ Barton
2.2 Ghz 400 FSB
Geforce 6800NU (325/850)
2x512 DDR400 (Dual Channel)
Albatron KX18D Pro II (Nvidia Nforce 2 400 Ultra)
Nvidia Forceware 61.45 drivers.



Initial Impression: Owners Nv40 line of graphic cards will be quick to notice that these cards are very configurable in regards to anisotropic filtering and texture filtering, The modes include, High Performance, Performance, Quality, and High Quality, Included into these modes is the ability to turn off trilinear optimizations and anisotropic filtering optimizations. The purpose of this analysis is to help the Nv40 users sort out which modes are usable to them and which are not.

Quick Notes


Bilinear Texture Filtering: Bilinear filtering is a computationally cheap but low quality texture filtering. It approximates the gaps between textures by sampling the color of the four closest (above, below, left and right) texels. All modern 3D accelerated video cards can do bilinear filtering in hardware with no performance hit.


Trilinear Texture Filtering: Trilinear filtering is a high quality bilinear filter which uses the four closest pixels in the second most suitable mip map to produce smoother transitions between mip map levels. Trilinear filtering samples eight pixels and interpolates these before rendering, twice as much as bi-linear does. Trilinear filtering always uses mip mapping. Trilinear filtering eliminates the banding effect that appears between adjacent MIP map levels. Most modern 3D accelerated video cards can do trilinear filtering in hardware with no performance hit. Anisotropic filtering is a different story.


Anisotropic Filtering: Anisotropic filtering is the best but most CPU intensive of the three common texture filtering methods. Trilinear filtering is capable of producing fine visuals, but it only samples from a square area which in some cases is not the ideal way. Anisotropic (meaning `from any direction') samples from more than 8 pixels. The number of sampled pixels and which sampled pixels it uses depends on the viewing angle of the surface relative to your screen. It shines when viewing alphanumeric characters at an angle

Mip Mapping: Mip mapping is a technique where several scaled copies of the same texture are stored in the video card memory to represent the texture at different distances. When the texture is far away a smaller version of the texture (mip map) is used. When the texture is near, a bigger one is used. Mip mapping can be used regardless of filtering method (see below). Mip mapping reduces memory bandwidth requirements since the images are in hardware, but it also offers better quality in the rendered image

Brilinear: Net Slang, This is a method where you use less than trilinear filtering, But more than bilinear filtering, Ideally this causes the GPU to do less work while still providing trilinear Quality


Keeping it Simple: Mipmaps join textures together. The Purpose of Bilinear/Trilinear filtering is to help join these mipmaps together. Trilinear filtering will generally hide these transitions better than Bilinear. When seeing these mip map transistions in motion. You will see rolling textures, also known as "Shimmering". To reduce the amount of texture shimmering trilinear filtering is reccomended. Take note of how the transistion will seem much softer with trilinear enabled. All Shots were taken with 4x Anti Aliasing enabled and 1024x768 resolution.






Image Quality Settings



High Performance: Highly optimised trilinear filtering. This mode is pretty much pure bilinear with texture stage optimizations enabled, With texture optimizations disabled there appears to alot of quasi trilinear filtering occuring.

Note:Turning on anisotropic optimizations makes this mode function as as pure bilinear. With anistropic filtering optimizations off there appears to be alot of quasi trilinear filtering occuring.

Performance: High optimised trilinear filtering. This mode is pretty much pure bilinear with texture stage optimizations enabled, With texture optimizations disabled there appears to alot of quasi trilinear filtering occuring. This mode appears to be less aggressive than High Performance mode.

Note: Turning on anisotropic optimizations makes this mode function as as pure bilinear. With anisotropic filtering optimizations off there appears to be alot of Quasi Trilinear filtering occuring.


Quality: The mode most NV40 users are likely to use. This mode by default employs trilinear optimisations. Also known as as "Brilinear".

Note: By default Brilinear filtering is enabled, You can disable it by using the advanced tab in the control panel and switching trilinear optimizations off. Texture stage optimizations are currently default disabled. You can switch them on or off by using the advanced tab in the control panel.


High Quality: This mode removes all optimizations from texture filtering. Full Trilinear is employed with no texture stage optimizations. Also Bilinear filtering is performed on all other textures.

Note: All optimizations are unchangable with this mode enabled, You cant enable trilinear optimizations or anistropic optimizations.



Image Quality Investigation




Purpose: The purpose of this investigation is to give the user a better idea of what to expect from Nvidias various anisotropic filtering modes. Included within the comparisons are png shots of Unreal Tournament 2003 with colored mip maps enabled and without colored mip maps. Keep in mind that still screenshots do not always illustrate the difference between bilinear and trilinear anisotropic filtering. These differences can be seen in motion. The purpose of the colored mip maps is to illustrate the transistion that can be seen between each shifting mip map.


8x Anistropic Filtering




High Performance

8x High Performance AF with colored mip maps enabled. (http://www.nvnews.net/articles/chrisray_iq/filtering/8xhptextureoffcolor.png)

8x High Performance AF with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xhptexturenorm.png)

8x High Performance AF (tril opts off) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xhptriloffcolor.png)

8x High Performance AF (tril opts off) with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xhptriloffnorm.png)

8x High Performance AF (AF opts on) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xhighperfcolor.png)

8x High Performance AF (AF opts on) with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xhighperfnorm.png)


Performance

8x Performance AF with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xperftextureoffcolor.png)

8x Performance AF with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xperftextureoffnorm.png)

8x Performance AF (tril opts off) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xperftriloffcolor.png)

8x Performance AF (tril opts off) with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xperftriloffnorm.png)

8x Performance AF (AF opts on) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xperfcolor.png)

8x Performance AF (AF opts on) with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xperfnorm.png)


Quality

8x Quality AF with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xQualitycolor.png)

8x Quality AFwith colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xqualitynorm.png)

8x Quality AF (tril opts off) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xtriloffcolor.png)

8x Quality AF (tril opts off) with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xtriloffnorm.png)

8x Quality AF (tril opts disabled) (AF opts enabled) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xtexturecolor.png)

8x Quality AF (tril opts disabled) (AF opts enabled) with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xtexturenorm.png)


High Quality

8x High Quality with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xHQcolored.png)

8x High Quality with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/8xHQnorm.png)




16x Anistropic Filtering




High Performance

16x High Performance AF with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xhptextureoffcolor.png)

16x High Performance AF with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xhptextureoffnorm.png)

16x High Performance AF (tril opts off) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xhptriloffcolor.png)

16x High Performance AF (tril opts off) with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xhptriloffnorm.png)

16x High Performance AF (AF opts on) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xhighperfcolor.png)


16x High Performance AF (AF opts on) with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xhighperfcolor.png)


Performance

16x Performance AF with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xperftextureoffcolor.png)

16x Performance AF with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xperftextureoffnorm.png)

16x Performance AF (tril opts off) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xperftriloffcolor.png)

16x Performance AF (tril opts off) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xperftriloffnorm.png)

16x Performance AF(AF opts on) with colored mip maps enabled. (http://www.nvnews.net/articles/chrisray_iq/filtering/16xperfcolor.png)

16x Performance AF(AF opts on) with colored mip maps disabled. (http://www.nvnews.net/articles/chrisray_iq/filtering/16xperfnorm.png)


Quality

16x Quality AF with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xqualitycolor.png)

16x Quality AF with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xqualitynorm.png)

16x Quality AF (tril opts off) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xtriloffcolor.png)

16x Quality AF (tril opts off) with color mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xtriloffnorm.png)

16x Quality AF (tril opts off) (AF opts on) with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16texturecolor.png)

16x Quality AF (tril opts off) (AF opts on)with colored mip maps disabled) (http://www.nvnews.net/articles/chrisray_iq/filtering/16xtexturenorm.png)

High Quality

16x High Quality AF with colored mip maps enabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xHQcolor.png)

16x High Quality AF with colored mip maps disabled (http://www.nvnews.net/articles/chrisray_iq/filtering/16xHQnorm.png)



Minor Note: One thing to note is the effect texture stage optimisations have on the filtering. This optimization is not enabled by default. However under many circumstances this optimization can be used without effecting image quality and increasing performance. Under most circumstances I keep it turned off.



Performance Analysis




Performance: To conduct the tests I used the DM Antalus map in unreal tournament 2003. I used fraps and took 3 preset runs through antalus and then divided the results by three to reduce margin of error.




http://www.nvnews.net/articles/chrisray_iq/filtering/afgraph.jpg



Conclusion


Conclusion: Does anyone remember the Geforce 2 days? There was one setting for anisotropic filtering and thats all we used. Tweaking modern day graphic cards can be a chore. With all the buzz circling the latest trilinear optimizations going on in graphic cards Nvidia has stepped forth and allowed users the ability to disable them. Nvidia currently offers the most tweakability with its image quality settings. Die hard image quality freaks and performance enthusiasts alike will easily be able to find a setting that suits them.

ChrisRay
07-07-04, 10:43 PM
Shew, That was a lot of work. Was also my first attempt at using a spreadsheet to illustrate my graphs. Hope everyone enjoys this..

Chris

Clay
07-07-04, 10:43 PM
It's aaaaliiiiiiiiivveee! :D Nice work Chris, now go take a few days off. :thumbsup:

MUYA
07-07-04, 10:47 PM
Some nice work Chris.

Waffles
07-07-04, 10:49 PM
Maybe this TNT2 I'm using until a 6800u comes along isn't so bad after all :) All you have to do is pick a resolution. No tweaking necessary...or possible :)

OWA
07-07-04, 10:49 PM
Great job Chris!

DivotMaker
07-07-04, 10:54 PM
Very nice job Chris...you put alot of time and energy into that and it shows in the output!

ragejg
07-07-04, 11:04 PM
Great work, Chris. :thumbsup:

saturnotaku
07-07-04, 11:21 PM
This is so getting linked in my GT review. CR rocks the house! :headbang:

Sazar
07-07-04, 11:26 PM
gj dood :)

:thumbsup:

you deserve a break after this one init :D

MikeC
07-07-04, 11:26 PM
Great job Chris. :)


We also have a similar comparison using AquaMark 3:
http://www.nvnews.net/vbulletin/showthread.php?t=29077&page=1&pp=15&highlight=aquamark

ChrisRay
07-07-04, 11:40 PM
Thanks everyone, I appreciate the support, It was a lot of work and I knew that going into it, Though its always fun to work on something and slowly see research form into something tangible and easily understood.

Thats what I was aiming for here, :) To make Nvidias AF modes a bit easier to understand and use.

JayrodTremonki
07-07-04, 11:47 PM
Awesome work <3

-=DVS=-
07-07-04, 11:48 PM
Good job :beer2:

MUYA
07-08-04, 12:11 AM
Plastered on the front page

jimmyjames123
07-08-04, 12:18 AM
Thanks for sharing ChrisRay!

Notice that, when trilinear and anisotropic filtering optimizations are BOTH enabled in either the High Performance or Performance modes, that the 6800 has a very small hit in performance when 8xAF or 16xAF is applied.

One thing that I have wondered about for some time now is why the ATI X800 cards seem to take such a small hit in performance vs the 6800 cards in certain Direct3D games when AF is applied. Particularly in games like UT2003, UT2004, FarCry, etc. I now suspect that these relatively small performance drops may be due to some degree to software/driver optimizations that ATI has implemented for the X800 cards in their newer Catalyst drivers. It seems that ATI is using both trilinear and anisotropic optimizations ENABLED by default (with no obvious way to turn these optimizations off), and this could be one reason why we see such relatively small hits to performance on these cards when AF is applied in certain D3D games. It almost seems as if the X800 cards in their default mode are doing less work than the 6800 cards in their default mode when AF is applied in-game. Also note that these relatively small performance hits on the X800 cards vs the 6800 cards when AF is applied does not hold true with OGL games.

Now the real question is, would it be equitable to compare the 6800 cards in Performance mode with anisotropic and trilinear optimizations enabled against the X800 cards, given the details mentioned in the paragraph above?

Most pro reviewers have decided to bench with the default driver settings from both ATI and NV. However, I have yet to see a detailed analysis done by a pro reviewer showing the effects in performance and/or image quality when cycling through the various modes that NV has to offer.

ChrisRay, when you have some time, it would be very interesting to see how fps changes in FarCry when you use the various modes detailed in your review. I suspect that we would see a relatively small performance hit when AF is applied to the 6800 cards if the aniso and tri optimizations are both enabled in the drivers.

Finally, generally, what are your thoughts on the image quality on the 6800 when using performance mode with tri and aniso optimizations enabled?

The Punisher
07-08-04, 12:20 AM
Excelent work dude.

SH64
07-08-04, 12:27 AM
(mag)
as usuall .. Chris is doin a very good job . esp the "quick notes" ... i now understand the Filtering methods more than before !

:thumbsup:

now let the 6800 have a rest for a week & so for yourself ! :D

burningrave101
07-08-04, 12:39 AM
Great work dude! I'm sure it took ALOT of time to put that togethor. It looks GREAT!!!

BTW, isn't it Anisotropic Filtering instead of Anistropic Filtering? :p j\p

mikechai
07-08-04, 12:39 AM
Thank you very much for your effort.
Good definition, nice explanation and great numbers! :)

WeReWoLf
07-08-04, 12:42 AM
To answer the ATi question, it's because ATi use Brilinear instead of Trilinear so that it makes their cards look better compared to Nvidia's. Sure their IQ is better than Nvidia, but they have to resort to using non-trilinear optimizations to keep up with Nvidia's kind of FPS.

ChrisRay
07-08-04, 12:46 AM
Great work dude! I'm sure it took ALOT of time to put that togethor. It looks GREAT!!!

BTW, isn't it Anisotropic Filtering instead of Anistropic Filtering? :p j\p


Oh man your right, How did I let that slip by.. I need to figure out how to edit this title quick. I may have to repost it. Ugh. :lame:

MUYA
07-08-04, 12:49 AM
CLay got int htere before me :) edited to reflect proper spelling ;)

MikeC
07-08-04, 01:03 AM
CLay got in there before me :) edited to reflect proper spelling ;)


It was me. :)

jimmyjames123
07-08-04, 01:07 AM
To answer the ATi question, it's because ATi use Brilinear instead of Trilinear so that it makes their cards look better compared to Nvidia's.

Not exactly. Note that NV has trilinear optimizations enabled by default, and most reviewers have been testing the NV cards with tri optimizations enabled. One of the real issues here is regarding anisotropic optimizations. It seems pretty clear to me that ATI is using both trilinear and anisotropic filtering optimizations by default, so one would think that it would only be fair to bench against the NV cards that also use tri and aniso filtering optimizations enabled in the driver. However, before that can be done, a detailed image quality analysis using pictures and in-game visual quality inspection should be done that compares ATI's optimized modes to NV's optimized modes.