Perpsectives on Optimizing

For a while now, NVIDIA has been focusing very hard on compiler technology to optimize shader code for their architecture. This was necessary because nv3x had a hard time processing code hand-written by developers (it was very hard to write efficient code - not very intuitive). Before their compiler could handle doing the best possible job optimizing code, NVIDIA would take hand- tuned shaders (for common functionality or specific games), detect when a shader for that effect was used in a game, and run their own instead. This is known as a shader replacement. The only case in which NVIDIA currently does shader replacement for performance reasons is in Doom3. They will also do shader replacement in certain games as bug fixes, such as in Homeworld 2 and Command and Conquer Generals. NVIDIA is relying more and more on their compiler technology to carry them, and this is a commendable goal as long as their compiler team can maintain a high level of integrity in what they do with shaders (mathematical output shouldn't change from the original).

ATI has stayed away from the shader replacement and application-specific optimizations for a while. if you don't do them, you can't be tempted to take it too far, which has happened in the past with both ATI and NVIDIA (both Quake and 3dmark spring to mind). That doesn't make it wrong to use knowledge of a running application to enhance performance and/or image quality . And with Catalyst AI, ATI has adopted this stance. They now detect certain applications when they are run in order to use shader replacement or alter the way things are done slightly to suit the game better. In Doom 3, they replace a look-up table with a computational shader. In Counterstrike: Source, they change the way they do caching slightly for a performance gain (they don't do it on all games because it hurts performance in other titles while it helps the source engine). ATI also uses application detection to make sure that AA is not enabled where it would break a game, and other such situations where games have specific quirks when it comes to graphics settings.

Catalyst AI also does texture analysis to determine how to handle bilinear, trilinear, and anisotropic filtering. ATI has done this to some extent before, but now you can turn it off. The low and high settings of Catalyst AI also allow you to adjust how agressively their texture filtering tries to improve performance. They have made a quality enhancing change as well; ATI no longer drops down to bilinear filtering in aniso, no matter what texture stage is used (before, if an object's initial texture was anything other than the highest resolution, bilinear filtering was used). If Catalyst AI is turned off and trilinear is requested, it is always done on everything now.

Why Optimize? Anisotropic Filtering and The Test
Comments Locked

8 Comments

View All Comments

  • 861 - Tuesday, September 28, 2004 - link

    a great tool!
  • dvinnen - Tuesday, September 28, 2004 - link

    That's good. Only difference I saw was a little lighting difference on the floor. Even then very slight. Good for an extra 10 frams.
  • gordon151 - Monday, September 27, 2004 - link

    They did make some general opengl improvements that helped the 8500 in doom3 and some other opengl games in recent drivers, but thats pretty much it for that class.
  • ksherman - Sunday, September 26, 2004 - link

    it too bad all the new driver enhanchments have abandoned the Radeon 8500... I could really use some of the improvements in games... :(
  • KillaKilla - Sunday, September 26, 2004 - link

    Here it is: its the third image down. Don't know if the whole .net framework could make this imposible, but I don't see how this could have affect...

    http://www.anandtech.com/video/showdoc.aspx?i=1931...
  • KillaKilla - Sunday, September 26, 2004 - link

    Would it be posible to implement the old, but very, very effective trick to see difference between AI settings? I'm talking about the thing where you hover your mouse over an image and it changes to the other image. I'll look for a link in a minute, if you don't see what I'm talking about.
  • acemcmac - Sunday, September 26, 2004 - link

    my question remains...... can I finally leave Cat 3.8 and MMC 8.7 if I want MMC and multimonitor support simultaneously???
  • coldpower27 - Sunday, September 26, 2004 - link

    I am glad ATI, is giving this suite allowing user to choose to use optimized drivers or not and having the ability to disable them as well. Good for ATI, now they are on par with Nvidia in this respect.

Log in

Don't have an account? Sign up now