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

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

  1. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    Have you tried changing the specular exponent to something lower. I'm just shooting from the hip here and chose 16 without any particular motivation except that's what I'm usually using in my own code. But it could very well be that the specular exponents in Doom3 generally are lower than that to avoid too nasty specular artifacts. See if the problem remains if you lower it to for instance 12 or 8.

    Like this instead:
    PARAM specExp = { 8, 0, 0, 0 };
     
  2. Star_Hunter

    Newcomer

    Joined:
    Jan 21, 2003
    Messages:
    77
    Likes Received:
    0
    Location:
    Michigan
    Humus do you still have more shader code to look through??? Maybe you could find something else as well if so :D
     
  3. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    Well, I'm done for tonight anyway. :) I'm off to bed now.
     
  4. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,928
    Likes Received:
    230
    Location:
    Seattle, WA
    My question was more related to when they are/were generated. That is, if they ship with each texture (or material) in the game, then it may take some time to extract all of the specular exponents. If they're generated at runtime, of course, it would be trivial.

    More importantly, of course, if they're stored in each texture or material, then you'd have a hard time producing a patch that could efficiently access the specular exponents for each texture/material (since you couldn't very well store them with each texture/material...).

    Now, though I somewhat doubt this is the case, it is conceivable that these LUT's are tweakable from within an editor, to get just the look the artist desires. I just don't know exactly how you'd implement something like this, or if it'd be useful.

    Edit:
    Well, I do have to admit that I'm mostly arguing here for the sake of argument. We'll find out soon enough whether or not this is implemented in a patch. In the meantime, I don't personally think it's worth the visual quality loss.
     
  5. KimB

    Legend

    Joined:
    May 28, 2002
    Messages:
    12,928
    Likes Received:
    230
    Location:
    Seattle, WA
    Well, Star_Hunter, this is the primary shader used on most surfaces in the game, so changing of the other shaders won't affect performance much.
     
  6. Star_Hunter

    Newcomer

    Joined:
    Jan 21, 2003
    Messages:
    77
    Likes Received:
    0
    Location:
    Michigan
    Every little bit counts :D (unless its a huge hassel and therefore not worth it)
     
  7. Try4Ce

    Newcomer

    Joined:
    May 10, 2004
    Messages:
    7
    Likes Received:
    0
    Location:
    NRW / Germany
    Hi

    I applied the changes in my interaction-file correctly, but after that, there aren't ANY lighning effects, NO textures, NO shadows....

    Whats wrong? It is only me with this problem? I did a complete fresh install, its not working....

    Please help me! :cry:
     
  8. Toasty

    Newcomer

    Joined:
    Jul 24, 2002
    Messages:
    51
    Likes Received:
    2
    Does anybody see a way to increase the overall ambient lighting a little bit via Doom's shader programs?

    I like Doom's shadows and all but I don't agree with their decision to make shadowed regions perfectly black, particularly in rooms otherwise filled with light. What I'd like to do is add a faint ambient component to the game, allowing some perception in perfectly dark areas and allowing me to decrease the near-full brightness setting I am presently required to have in order to see anything.

    I've tried adding an ambient component to the light value in interaction.vfp but the effects of that shader are confined to areas that are struck by some light source. There's another shader file called ambientLight.vfp that I tinkered with as well but it appears that this shader is not used on my R300 as omitting its contents had no effect.
     
  9. Toasty

    Newcomer

    Joined:
    Jul 24, 2002
    Messages:
    51
    Likes Received:
    2
    Try to confirm that your changes have the semi-colon at the end of the lines you added or otherwise look for any editing error that may have been made... if the shader is failing to compile then the result is black pixels everywhere that the shader is applied.
     
  10. Mintmaster

    Veteran

    Joined:
    Mar 31, 2002
    Messages:
    3,897
    Likes Received:
    87
    One reason could be that he mip-mapped the textures so that a texture lookup will be somewhat antialiased. Using the coordinates of all four pixels in a quad, a mipmap selection will be made.

    It could also be that there's a scalar multiple built in there so it never fully saturates, or so that he doesn't have to scale later.

    As for texture thrashing, I would hope JC didn't use a huge texture. 16x1 or 32x1 should be enough to please most people, and it should stay in the texture cache all the time. However, if you're noticing a big difference, your theory could easily be right.
     
  11. saaya

    Newcomer

    Joined:
    Aug 8, 2004
    Messages:
    7
    Likes Received:
    0
    if you ask me it would be really lame to change the lightning like that as it would desytroy one of the main points of the game... :p
     
  12. MindlessOath

    Newcomer

    Joined:
    Jul 23, 2004
    Messages:
    7
    Likes Received:
    0
    Location:
    Chicago
    use the flashlight? :p
     
  13. acrh2

    Newcomer

    Joined:
    Aug 8, 2004
    Messages:
    16
    Likes Received:
    0
    Does this tweak only work w/ vsync on?
    On my system, vsync kills about 15 frames in timedemo, so I always have it disabled.
    W/o vsync, I tried humus's tweak and only got a few fps increase.

    p4 @3.5
    x800xt pe
    2G ram
    high quality in drivers
    high quality in game
    1280x1024
     
  14. kyleb

    Veteran

    Joined:
    Nov 21, 2002
    Messages:
    4,165
    Likes Received:
    52
    the tweak has nothing to do with vsync.

    as for why vsync hurts your framerate in timedemo; that is because vsync caps your framerate at your refresh rate, but it wont cause you to get lower lows in your framerate as long as you have triple buffering on. vsync is for image quality, turning it off is for benchmarking.
     
  15. Florin

    Florin Merrily dodgy
    Veteran Subscriber

    Joined:
    Aug 27, 2003
    Messages:
    1,660
    Likes Received:
    251
    Location:
    The colonies
    So far on my 6800GT/A64 3200 setup I can't find any situation where this shader replacement speeds things up. Timedemo FPS drop varies between 10 fps for 102x768 no AA no AF to about 1 fps at 1280 4xAA 8xAF.
     
  16. Arraso

    Newcomer

    Joined:
    Aug 8, 2004
    Messages:
    9
    Likes Received:
    0
    Location:
    Brasil, São Paulo - SP
    This tweak definitively don't work with GeForce FX cards, may due to they low instructions sets.

    I lost 10fps in timedemo benchmark.

    I still noticied the "shiny textures", though.

    GeForce FX 5900 128MB.
     
  17. micron

    micron Diamond Viper 550
    Veteran

    Joined:
    Feb 23, 2003
    Messages:
    1,189
    Likes Received:
    12
    Location:
    U.S.
    I got some pretty serious tearing while using this tweak. Vsync helped a little, but it was still pretty bad.
    9800 non pro here.
     
  18. Energy

    Newcomer

    Joined:
    Jul 21, 2003
    Messages:
    23
    Likes Received:
    0
    Location:
    Finland
    This is a bit off-topic but maybe Humus knows the solution for this.

    Plasma gun doesn't light the areas when you are firing. Is there any way to change some code so it does light the areas?
     
  19. Arraso

    Newcomer

    Joined:
    Aug 8, 2004
    Messages:
    9
    Likes Received:
    0
    Location:
    Brasil, São Paulo - SP
    First: run game in High.

    Then go to Doom 3/base folder, open DoomConfig.cfg (with notepad) and search for the lines:

    seta g_projectileLights "0"
    seta g_muzzleFlash "0"

    Then change "0" to "1".
     
  20. TimothyB

    Newcomer

    Joined:
    Aug 8, 2004
    Messages:
    2
    Likes Received:
    0
    Location:
    California
    Quick TIP on getting into a pk4 file.

    In WinXP, I found if you just change the extension to .zip, you can then go into it like a regular zip folder. Then after finding the file, pull it out, edit it, and drop it back in, all you need to do is place the original extension back on and your all set.

    Much easier than having to unpack it all or install some software. But I'd back up the pk4 first just incase it gets corrupted or something.

    I'm going to try this on my 6800nu for the hell of it. I'll post some screens of before and after, if I notice anything that is.
     
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...