How to boost your Doom3 performance by 40% on ATI hardware

Discussion in 'PC Gaming' started by Humus, Aug 8, 2004.

  1. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    I don't think it's better because you're making the mistake about tri-opts that many make, and that is that tri-opts are globally applicable to any 3d game in an always-on condition. They aren't--in every 3d game I'm aware of, there are scenes in the game which are amenable to tri-opts (which means they render correctly with tri-opts on with no visible distinction apparent), and scenes which are not amenable to tri-opts and will render degraded IQ with tri-opts on. A manual Cpanel control for tri-opts is, therefore, wholly impractical--unless, as I said, you don't mind constantly quitting and rebooting a particular game to make adjustments to a manual Cpanel on-off tri-opts switch as needed.

    OK, to put it another way--is FSAA an "optimization"? Is AF an "optimization"? Or are these things *features* relative to global rendering IQ in 3d games? Tri-opts are, by their natures, *optimizations* which do not work globally like Cpanel-forced *features* such as AA and AF. There's a big, big difference between an optimization and a feature.

    Tri-opts are *optimizations* not features, and that is why ATi's approach is better, imo. In fact, *I'd say* that because of what tri-opts are by nature, ATi's approach is the far more rational of the two, since there are *no* 3d games that can be run with nVx tri-opts on which will not, in places, show IQ degradation as a result. It is to avoid precisely that situation that ATi has implemented the self-switching tri-opts approach. If you think about it--*most* optimizations work exactly like that in IHV drivers. The only difference is that they never reach the level of public discussion that tri-opts have reached of late.

    Of course, since I understand the issues well enough to know that Carmack also understood them well enough to understand the importance of the information he neglected to mention...;)

    Yes, just like it's also accurate to state: "All 6800U reference designs from nVidia's AIB partners ship with 128mbs of ram."

    It's true, because all of them do ship with at least 128mbs of ram. It's untrue, however, because of what I didn't say, which is they all ship with 256mbs of ram...;) This illustrates how often it is true that what is left unsaid is more important than that which is said.
     
  2. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    OK, which other apps? (Asking because I obviously don't own any of them.)

    What he said he probably would have done had he more advance notice of the actual D3 ship date--which is to setup the D3 config engine elements to better support the newer fragment hardware. QED, isn't it? Hopefully, in the many upcoming D3-engine patches we're sure to see, he'll find the time to get around to things like this.

    Want to add here that as far as I know D3 is not technically an OpenGL 1.5/2.0-engine game, but is very much an engine based on the same essential API version as Q3, and is, likewise, primarily served by custom IHV driver extensions. So I certainly do find that incongruent with your theory that the Catalysts might respond properly to Q3 in-game settings instructions but shouldn't necessarily be expected to respond to those issued by the D3 engine (for some really vague reason...;)).
     
  3. Florin

    Florin Merrily dodgy
    Veteran Subscriber

    Joined:
    Aug 27, 2003
    Messages:
    1,707
    Likes Received:
    345
    Location:
    The colonies
    That is not what I said or implied. I said there's a difference between having the option to turn tri-opts off completely and relying on a detection mechanism which may or may not prevent visible differences. What you're saying is that it's not necessary to have a way to turn it off because image quality is maintained at all times, which has been the subject of some argument.

    But the user has the option to accept that degradation, or not.

    This analogy is rather nice because it is just as flawed as the rest of your argument. Saying that 6800Us ship with 128 MBs of RAM to most people clearly means 128 MB and 128 only. The statement is thus actually inaccurate. But when one says that ATI uses tri-opts, it really is like that - they do use tri-opts, and it is the only choice they offer. Whereas Nvidia actually does offer that other 128 MB as well - namely the option to run without tri-opts. Which is why it wasn't necessary for Carmack to include Nvidia in that statement.

    Yes, I hear you already, the auto-detect mechanism IS a way to shut off the tri-opts. But it's not, really. It is simply a part of the optimisation.
     
  4. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    Again you miss my point, which is that unless your tri-opts implementation is self-switching on and off, so that IQ degradation is avoided (at least theoretically), there's no sense in having an *always on* switch on the Cpanel for tri-opts--since if constant IQ maintenance is your goal you'd never want to turn it "on" in the first place. As mentioned, the *default* nVx driver implementation for them is *always on* which certainly begs the question why it is not *always OFF* by default, instead, doesn't it?

    Theoretically, yes. But it is the object of some ongoning debate as to whether or not the nVx "off" switch actually does turn all of the tri-opts off in all 3d games, as it implies. nV started down the tri-opts path long before ATi, if you'll recall, and in the beginning there was no way to turn them off at all in the nVx drivers. I find that troubling in tandem with the present reality that the default setting for the drivers relative to tri-opts is that they are still on by default (when I would think the truly optional approach would be to have them turned off by default, and turned on by optional selection.)

    You still miss the point: which is that the ATi drivers are never "always on" or "always off," but will always be on OR off by virtue of the way the optimization, just like so many other optimizations, is employed by the drivers conditionally in order to maintain trilinear IQ.

    Carmack's musings became amusing when he said, "Yes, it's true that in the presence of colored mips the ATi performance slows," and when he said, "There's no visible impact to D3 in the process," as he was actually simply saying that the ATi tri-opts implementation works exactly as advertised. Heh...;) Yet, he complained about it nonetheless--at least, he complained about *ATi's* trilinear optimization implementation.

    To me, Carmack's failure to even *discuss* or *mention* nVx's trilinear optimization implementation when talking negatively about ATi's is absolutely indefensible. I cannot imagine why you'd think otherwise...:D

    The fact that in the very same context, a context of a comparison between ATi and nVx drivers and hardware running D3, he *doesn't even mention the existence of nVidia's trilinear optimization implementation* as found in the drivers he tested, even though that optimization is forced *always on* by default in the nVx drivers he used, indicates to me that he simply didn't want to mention nVidia's trilinear opts at all--in any capacity--as either on or off--it simply didn't matter--he played dumb as a doornail.

    Do you think he's that dumb, really? I don't think so...;) He could have used your arguments, right? I mean, he could have at least said, "Well, I turned the nVx tri-opts off, and I can verify that in D3 there's no nVx trilinear optimizing going on when I do so," right? But he didn't--he just clammed right up on the subject as it applies to nVx--but he was vocal enough about ATi, wasn't he?

    Obviously, there was something very wrong with the picture Carmack painted on this issue--very wrong. Clearly, what he didn't say there has a far greater importance than what he said.

    But see...that's not what I said...;) What I said was there's no need to manually shut them off, or manually turn them on in the Catalysts, since they turn themselves on and off as needed--the goal being to maintain trilinear IQ while at the same time increasing performance--which is the absolute goal of any bona fide driver optimization. It's very hard for me to argue with that.

    Edit: Wanted to add that it appears to me Florin that your difficulty lies in the fact that you only want to talk about what happens when you turn the nVx tri-opts OFF by way of the control panel (what happens at least theoretically), but you don't seem too interested in discussing what happens when you turn them ON...;) Obviously, for reasons already covered, a self-switching on/off tri-opts implementation is superior to one that is always on. That is what I've been talking about.
     
  5. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,928
    Likes Received:
    230
    Location:
    Seattle, WA
    The definition of magnification and minification should be independent of the filters chosen for magnification and minification.
     
  6. Florin

    Florin Merrily dodgy
    Veteran Subscriber

    Joined:
    Aug 27, 2003
    Messages:
    1,707
    Likes Received:
    345
    Location:
    The colonies
    Not at all. You could assume most users would consider it an acceptable tradeoff, or just prefer speed over iq in general. You could also say it's completely arbitrary which selection is the default. Seeing as it is optional, it does not matter.

    I'll leave the answer to that in the middle. But it's interesting to note that you find the theoretical non-iq degradation of ATI's solution readily acceptable.

    It can be switched on and off. Your definition of 'truly optional' seems different from most.

    Well, I can understand how any brief and concise remark might be cause for complaint for someone with your particular posting habits :D

    Ah, but I don't think this is the subject that Carmack was talking about.
    Prsonally I indeed fail to see what you're so excited about. I can remember a number of less than positive remarks from him about Nvidia as well, like about NV3x's FP32 performance (and hey, he somehow failed to mention ATI FP32 performance at that particular time :wink:), as well as that remark about fragile shader replacements not too long ago.
     
  7. PatrickL

    Veteran

    Joined:
    Mar 3, 2003
    Messages:
    1,315
    Likes Received:
    13
    What about just say that JC has chosen to code things in the way the more convenient to the IHV of his heart and that's all? He has the right to prefer Nvidia.
    For me it s a big noise for nothing as if you read forums it seems that replayability of D3 is close to zero, the multiplayer part is limited so in one month it will be history for most players.
     
  8. Xmas

    Xmas Porous
    Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    3,344
    Likes Received:
    176
    Location:
    On the path to wisdom


    No, it isn't. You mean, optimizing for ATI instead of optimizing for NVidia?

    Funny thing I have never seen an AF setting in Q3...

    You might want to read this and this. And after you have done so, you hopefully will either understand what I'm talking about or refrain from discussions that touch the topic of graphics APIs altogeher. Thank you.


    btw, it's "id". Not ID, iD nor Id. Just "id", one word.
     
  9. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    Seeing that it is the *default* driver condition, of course it matters. Do the nVx drivers turn on FSAA x8 by default, or 8x AF? Do they disable vsync by default, or the other way around?

    OK, so why are *trilinear opts*--which we've already established are not rendering features, but performance optimizations--turned on by default in the nVx drivers?

    More importantly to our discussion, why did Carmack not even mention *the existence* of *any* nVx trilinear optimizations considering the context of his remarks?

    On the contrary, I believe I mentioned that it was theoretical, just as the function of the nVx tri-opts off switch is theoretical...;)

    You fail to distinguish between "it is manually switchable" and it is "automatically switched." Manual controls are for features, remember, not optimizations. There is a necessary degree of difference between the control of a rendering feature and a driver optimization. You seem to keep confusing trilinear optimizations with rendering features, which justifiably are manually switchable. Optimization ought by nature to be transparent to the user. Features otoh, demand manual control.

    Yes, a sentence like, "Well, I turned the nVx tri-opts off, and I can verify that in D3 there's no nVx trilinear optimizing going on when I do so" is indeed a mouthful, verbose, and wholly beyond the comprehension of most people. Heh...;) Yea, that explains why Carmack was unable to frame the thought clearly enough to enunciate it...;)

    After all of these posts and you still cannot see why it bothers me that he disparages ATi's approach to trilinear optimizing and says nothing at all about nVx's trilinear optimizing, as if it does not exist? Wow...;) Maybe I didn't repeat it enough...Wasn't verbose enough?...;)
     
  10. DR DEATH

    Newcomer

    Joined:
    Aug 14, 2004
    Messages:
    1
    Likes Received:
    0
    Location:
    Coloradical
    Help a Newbie pls.. I just d/l'd the tweak and extracted it to D:\games\Doom3\base\glprogs. Is this all I need to do to make the tweak active? I'm just curious because their wasn't a interaction.vfp file at all in my doom3 directory previous to extracting this tweak.

    Also, I opened pak000.pk4 file and then opened interaction.vfp but didn't see these lines of code that humus said to add to:
    PARAM subOne = { -1, -1, -1, -1 };
    PARAM scaleTwo = { 2, 2, 2, 2 };

    ???

    What am I missing here.. Also, my benchmarks seem to have went up when running the timedemo 2 times. I went from about 37 to 42 FPS. Thanks for any Help.. You guys certainly know your stuff!!
     
  11. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    You know, you're exactly right. I get annoyed because it simply seems so unprofessional to me to do something as obvious as criticize one IHV's approach to trilinear optimization while utterly ignoring another IHV's approach to trilinear optimization. It's fine, you know if you want to "like" one IHV personally more than another--that's one thing. But to make this kind of deliberate *public* criticism about one IHV when your "favored" IHV does much worse, but you "like" them and ignore it--well, I guess he just crossed my own personal tolerance line at that point. That's really crummy behavior, imo, and I'd like to see all game developers seek to serve their customers instead of their favorite IHVs. Perhaps their publishers need to take some rulers to some unruly palms every once in awhile and reign in this sort of childishness. Heh...:D
     
  12. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,928
    Likes Received:
    230
    Location:
    Seattle, WA
    Your questions should all be answered in the first page of this thread.
     
  13. Illestone

    Newcomer

    Joined:
    Aug 11, 2004
    Messages:
    30
    Likes Received:
    0
    There is a sticky and the 1st page will tell you about this, but yes, that is all you need to do.

    And most people will set
    seta image_anisotropy "1"
    and use 8xAF in CP.
     
  14. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    I can't read anything except English and a bit of Spanish (but don't quote me on the Spanish part...;)) So I guess I'm sunk...;)

    Seriously, xMas, I ask you as to what these other apps might be, and you reply to me by quoting yourself relative to some tests you made with modded OMEGAs that are "based on" the 4.7's and running on a 9600Mobility???....;) And then, to top it off, you invite me to a German website, which I can't read, just to tell me about "one instance" which you decline to identify???---Heh-Heh...;) Is the "one instance" unpronounceable in English, is that it?...;)

    OK, in celebration here I propose that from now on we investigate official nV drivers by testing the OMEGA modded drivers they are based on, and that we restrict ourselves to running the test software on a GO gpu....;) And of course then that all the results are published exclusively in German, to add authenticity.

    xMas, you may just have ushered in a new paradigm for bug testing...;)

    (Thanks, though, I needed a good chuckle today...Just missed getting blown out to sea by Charley...:D)
     
  15. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    This statement shows your lack of knowledge. Tell me, when you enable AF and colored mipmaps on your NVIDIA card, does not the LOD shift compared to normal trilinear? You wouldn't be able to get all of the detail from AF if the LOD did not shift. But please, keep on thinking what you want.

    Last time I checked, NVIDIA HW supports only anisotropic mag filter while anisotropic min filter was set. For example, in D3D you could set point sampling for the mag filter and anisotropic for the min filter, yet NVIDIA HW would not obey. Sounds rather broken to me.

    -FUDie
     
  16. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    Wasn't there a trilinear filtering setting in Q3, however? (It's been awhile, and I really don't recall.) My point was initially that such filter settings as there were in Q3 worked just fine for me under the Catalysts as I recall.

    So I take it your assumption is that because Q3 had no internal AF setting that in all of D3's development time it was impossible for ATi and and id to figure out how it should be implemented, or that it was impossible for ATi to figure out how to fix this "driver bug?" If not, then what is your assumption?

    You're welcome. Now what was it about my remarks as to the D3 engine not being a 1.5/2.0 API engine that disturbed you, exactly?


    Oh, excuse me--OK, ID it is...;)
     
  17. Xmas

    Xmas Porous
    Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    3,344
    Likes Received:
    176
    Location:
    On the path to wisdom
    wAltC, your inability to read or even follow a link seems grow proportional to your use of smileys. What more can I provide than a complete description of how to reproduce the issue? Everyone with ATI hardware can try it.

    Again:

    You can also use my FilterTest app (link is also in my sig, btw) to reproduce the issue:
    Set CP to app
    start FilterTest
    set checkerboard texture 0
    set AF to 16x
    * at this point you will see the effect of the bug *
    set magnification to NEAREST, then back to LINEAR
    * now it is gone *

    Just TRY it.

    Or take this app from zeckensack. Press A and enjoy texture shimmering. Press T twice, and it's mostly gone.
    If the driver did it correctly, there would be no difference, and no texture shimmering.

    Unsurprisingly, the bug manifests itself on my Radeon 9800 with all official Catalyst drivers I tried, too. And I'm not the only one who tried it.
     
  18. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,928
    Likes Received:
    230
    Location:
    Seattle, WA
    You can change LOD without changing the definitions of magnification and minification.
     
  19. Xmas

    Xmas Porous
    Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    3,344
    Likes Received:
    176
    Location:
    On the path to wisdom
    Tell me, how can a certain issue that reportedly occurs when a game controls AF by itself show up in game that doesn't even know about AF?

    Right, it can't. It doesn't.


    zeckensack could certainly say it better than me, but version numbers in OpenGL are practically irrelevant.
     
  20. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    That's the best you can come up with? Shifting LOD also shifts when you magnify and when you minify.

    -FUDie
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...