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

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

  1. digitalwanderer

    digitalwanderer Dangerously Mirthful
    Legend

    Joined:
    Feb 19, 2002
    Messages:
    18,992
    Likes Received:
    3,532
    Location:
    Winfield, IN USA
    [​IMG][​IMG][​IMG]
     
  2. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    It's seldom the driver team that goes out and finds the bugs. Bug reports are usually passed to them through devrel with reproduction steps and other specifics. So I would say this is on my turf rather than the driver team's.
     
  3. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    12,059
    Likes Received:
    3,119
    Location:
    New York
    Ok cool. Good job either way. So how many bugs do you find that you don't publicly announce? :D
     
  4. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    I'm not sure I would call anything a public announcement. But if I verify a bug that was communicated to me through a forum I always acknowledge the bug in that thread, including any work arounds I may find. If someone sends me an email about a bug and I can reproduce it, then I acknowledge it to the sender. I have never encountered a bug that I would in any way have reasons to not acknowledge. It's better to let people know that it's being worked on.
     
  5. sonix666

    Regular

    Joined:
    Mar 31, 2003
    Messages:
    595
    Likes Received:
    3
    Is the Steam problem being worked on? :p
     
  6. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    What you're saying applies to D3D only AFAIK.

    -FUDie
     
  7. CLAVDIVS

    Newcomer

    Joined:
    Aug 15, 2004
    Messages:
    5
    Likes Received:
    0
    First off, I've been TRYING to keep up with this thread, but I apologize in advance if this has been covered already...

    The version of interaction.vfp in the RAR file you linked to still seems to have the same code as before, that is:

    MUL R1.w, R1.w, R1.w;

    rather than what I quoted above. I know essentially nothing about about 3D programming (although I at least know what AA and AF mean :) ), so I have no idea what removing the ".w" changes. In layman's terms, does it improve performance, quality, both, or one at the expense of the other? A technical explanation would be nice but it's a crapshoot as to whether I'll understand it. :?
     
  8. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    No idea. Haven't heard of it.
     
  9. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,928
    Likes Received:
    230
    Location:
    Seattle, WA
    Except it's very clear that this is what occuring from the screenshots. Close enough, and the screens are identical (whether CP or app AF). Far enough away and they're also identical. Between there's massive aliasing with application anisotropic filtering. That's a clear signature that this is going on. All that would remain to prove it beyond a shadow of a doubt would be to use colored MIP levels to show that the first colored MIP map is at the point where the two ways of selecting anisotropic become identical again.

    I find it most likely that the current OpenGL drivers assume that when anisotropic is selected by the application, that anisotropic filtering should only be selected for the minifcation filter. That would be just fine if the definitions of magnification and minification were independent of the filters chosen.
     
  10. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    The .w code is newer than what you quoted. The specular is a scalar, so there's no need to repeat the same computations over all channels. Using .w allows it to be coissued with other instructions. I found that this gave about 1-2% extra performance. So removing it does nothing useful, only reduces performance.
     
  11. Apple740

    Newcomer

    Joined:
    Aug 9, 2004
    Messages:
    239
    Likes Received:
    2
    Location:
    Rotterdam - NL
    I've entered level 5 in the game, here they use a different kind of floor than previous. This floor messes up even with the Cp AF. :(

    [​IMG]
     
  12. FUDie

    Regular

    Joined:
    Sep 25, 2002
    Messages:
    581
    Likes Received:
    34
    None of this has anything to do with what I quoted you as saying above! This is not a problem with bilinear/trilinear. This is a problem with the mag filter being set incorrectly.
    Except this is wrong too, as Humus noted earlier. Change the filter mode in the game to GL_LINEAR then GL_LINEAR_MIPMAP_LINEAR and everything is fine. Probably a state bug in the driver someplace.

    -FUDie
     
  13. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,928
    Likes Received:
    230
    Location:
    Seattle, WA
    And I didn't say anything about bilinear/trilinear.

    If you're not going to read what I post, why reply?
     
  14. Assimilator

    Newcomer

    Joined:
    Aug 16, 2004
    Messages:
    19
    Likes Received:
    0
    Benchmark Results

    I would like to share some results with some of the discussed tweaks. All tests include cache usage activated in the Doom3config and ATI's 2x Temporal AA. I used TimeDemo Demo1.demo on the following hardware:

    Intel P4 3.0GHz
    1 gig Corsair XMS PC3200 RAM
    Western Digital 32gig Raptor HD
    ATI Radeon 9800pro (128MB).

    And here are my results:

    Demo1.demo benchmark, NO-TWEAK, 16x Application AF=============Avg. (2 runs) : 33.25FPS
    Demo1.demo benchmark, NO-TWEAK, 16x Control Panel AF===========Avg. (2 runs) : 27.55FPS
    Demo1.demo benchmark, Demirug, 16x Application AF==============Avg. (2 runs) : 35.55FPS
    Demo1.demo benchmark, Demirug, 16x Control Panel AF============Avg. (2 runs) : 35.10FPS
    Demo1.demo benchmark, Humus, 16x Application AF================Avg. (2 runs) : 36.75FPS
    Demo1.demo benchmark, Humus, 16x Control Panel AF==============Avg. (2 runs) : 36.00FPS
     
  15. Assimilator

    Newcomer

    Joined:
    Aug 16, 2004
    Messages:
    19
    Likes Received:
    0
    Benchmark Results

    Bleh. I left out that I'm using "High-mode" @1024x768 Quality textures.
     
  16. Inglo

    Newcomer

    Joined:
    Aug 9, 2004
    Messages:
    6
    Likes Received:
    0
    Location:
    Oakland, CA
    This particular issue was bugging me so I created a little toggle and put it in my autoexec so as soon as you load a new level you just hit c twice and you're definitely trilinear:

    seta filter "image_filter gl_linear; set filter_toggle vstr image"
    seta image "image_filter gl_linear_mipmap_linear; set filter_toggle vstr filter"
    seta filter_toggle "vstr filter"
    bind c "vstr filter_toggle"
     
  17. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,928
    Likes Received:
    230
    Location:
    Seattle, WA
    Re: Benchmark Results

    Don't use the average of the first two runs. The first run caches some stuff, and is always slower.
     
  18. carpediem

    Regular

    Joined:
    Apr 4, 2004
    Messages:
    351
    Likes Received:
    7
    Location:
    Sweden
    As been said before... To avoid the first run caching problem, just start the timedemo with

    timedemo demo1 usecache (edited spelling)
     
  19. Assimilator

    Newcomer

    Joined:
    Aug 16, 2004
    Messages:
    19
    Likes Received:
    0
  20. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    Absolutely the best answer yet...:D
     
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...