No announcement yet.

.ini options for maximizing graphics in UT2004

  • Filter
  • Time
  • Show
Clear All
new posts

    .ini options for maximizing graphics in UT2004

    With the D3D9 renderer, the ones I was looking at are AnimMeshDynamicLOD, TerrainLOD (negative values instead of 0 for both) and UseCompressedLightmaps (false instead of true). Are these supposed to do anything? I couldn't see any differences ingame. I know negative values for DetailTexMipBias and DefaultTexMipBias do work, but they are only practical when using supersampling. DecompressTextures=True is broken at least on current Nvidia hardware.

    Also, is there an "official" explanation for the ReduceMouseLag setting? It's true by default and it literally cuts performance to 1/3 when it's enabled. From what I could gather it was meant to improve mouse feel on contemporary PCs, but should be switched off on any modern machine.

    The LOD values you listed all have an effect, some simply more than others. Decompressing textures has no discernible effect - I've tested thoroughly - but is in no way "broken" (whatever that means) with my 1070 on the latest drivers. Decompressing lightmaps is also an option, but it has always made the powerup and weapon skins look funky, so that's off for me.

    Yep, disable mouse lag. Dunno why, but it's best.
    My Unreal game collection. Unreal series screenshots (2560x1440)


      Are you sure you didn't get UseCompressedLightmaps and DecompressTextures mixed up? For me, the former looks fine but with no visible benefits; it is the latter that causes missing textures on the opening TWIMTBP circle and 1st person weapon models.


        Derp. Yes, you're right, they are reversed.
        My Unreal game collection. Unreal series screenshots (2560x1440)


          One other setting I've looked at is DrawDistanceLOD. Setting this below 1 caused graphical issues on some maps (windows on DM-Aphran, for reference) while not offering any benefits otherwise, LOD looks to be hardcoded on many maps and not affected by these ini values at all.


            If you're using VSync (usevsync=True), then ReduceMouseLag does exactly what it says. I would always have it on together with vsync because otherwise you'll get a ton of input lag.

            Setting UseCompressedLightmaps to False will improve static lighting quality. The effect is pretty subtle, but you can verify this by typing "rmode 7" in the console which puts you into lightmaps-only rendering mode. With the default setting (True) the compression artifacts are quite obvious.

            Unfortunately the D3D9 renderer has some issues with certain effects such as shadow projectors and the Double Damage shader. It's not that noticeable during gameplay, but for max quality you'll want to use the D3D8 renderer.


              Thanks for the info. As I'm on a 60 Hz display VSync on isn't feasible in terms of input lag anyway for this game, but it would be interesting to see if this setting could benefit 144 Hz VSync/Adaptive Sync setups.

              I knew about the broken DD shader, but not about the shadow projectors. Any map in particular that is broken on D3D9? Unfortunately the D3D8 renderer performs significantly worse than the D3D9 one, particularily on complex custom maps.
              Last edited by Xan0906; 11-18-2017, 07:39 PM.


                It doesn't quite break the map, but if you look for it there are a few places where you can see it.

                On DM-Gael for example there's an animated shadow on the floor at the top of the elevators. At least on my machine the shadow will show up correctly only when using D3D8. I looked at this again and it actually seems that for some reason the D3D9 renderer isn't drawing the shadow on BSP surfaces at all.

                Another map that has these kinds of projectors is DOM-Core.

                Yeah, ReduceMouseLag is pointless if you're not using VSync. On a 120 hz monitor it definitely makes


                  Found another example, on DM-Morpheus3 the shadows from the vents inside the skyscrapers aren't visible. Also on closer inspection it seems that most decals don't display in D3D9? Never noticed it consciously for the longest time but this is one more for the pile of broken stuff in there...
                  Last edited by Xan0906; 12-15-2017, 11:52 AM.


                    There is an interesting D3D8 to D3D9 wrapper out now that seems to work just fine with UT2004 as far as I could tell from a quick test ( Simply putting the d3d8.dll into the System folder will result in the problematic effects being rendered correctly under D3D9.


                      Hay Xan0906

                      I put the d3d8.dll into the System folder like you said.
                      This is the error I got.

                      Click image for larger version  Name:	d3d8to9.jpg Views:	1 Size:	19.5 KB ID:	397419

                      I took the d3d8.dll file out and UT2004 works find with it removed.

                      Then I tried the "ReShade 3" thing and got this error.

                      Click image for larger version  Name:	D3D8 to D3D9 wrapper.jpg Views:	1 Size:	22.7 KB ID:	397420

                      Then I went to
                      and got this error.
                      404 Component not found.

                      Does any of this stuff really work with UT2004?
                      I don't think it does,
                      Last edited by Mega_Mad_Maxx; 02-28-2018, 04:08 AM.


                        I think the replies in this thread are referring to the use of the D3D9 renderer, which you apparently aren't using and which is why the D3D8.dll wrapper didn't work. Reshade is the same issue; you are running the game in D3D8.

                        All of these things work; I'm currently using the wrapper and have used but didn't like Reshade.

                        Some related threads:


                        My Unreal game collection. Unreal series screenshots (2560x1440)


                          No, you certainly don't need to use the D3D9 renderer for this to work, in fact it would render the wrapper completely pointless, wouldn't it? It works by translating D3D8 calls to equivalent D3D9 ones after all.

                          As for that error message, on the github page the author recommends downloading the old DirectX runtime package, so try that.


                            I'm no expert, but I removed the D3D9.dll from my system folder and now only the D3D8.dll in question is there and all is fine. Other forces at work?

                            So, placing the D3D8.dll into the system folder without having installed the 64-bit (DX9) patch forces the game into DX9 without its knowing, in a sense. Interesting. I won't be bothering to try it - my game looks great and is running fine - but interesting. If I have some time I'll do a fresh install of 2K4 to another folder and see what happens but I think I'd rather run with the 64-bit .exe anyhow.
                            My Unreal game collection. Unreal series screenshots (2560x1440)


                              The D3D9 renderer from the 64-bit .exe has the broken effects as mentioned previously in this thread. What's even worse, they somehow butchered the sound subsystem in that 64-bit .exe, so I couldn't get anything out of it other than that terribly muffled software OpenAL. Also had issues with hitsounds not playing correctly online.

                              The upsides on the other hand are faster game start-up time and better performance (because the D3D9 driver on modern cards is probably much more optimized), but now with this wrapper being available one can finally get the best of both worlds.