Performance Tweaks: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
No edit summary
Line 77: Line 77:
will improve performance. Try a few revisions or ask about known good driver versions.
will improve performance. Try a few revisions or ask about known good driver versions.


=== Disable Catalyst AI ===
=== (AMD\ATI) Disable Catalyst AI ===


(This is probably deprecated.)
(This is probably deprecated.)

Revision as of 15:51, 16 August 2016

This article relates to performance issues for players. For performance information for mappers, see Performance: Essential Must-Knows

Show FPS

First, you can check how many FPS are achieved by opening the console with Ctrl+Alt+~ (tilde, ^ on German keyboards) and type:

com_showFPS 1

Optimizing the OS performance

Stop running programs in the background

Programs running in the background might either eat up memory that is needed for Doom3, and thus cause swapping to the hard disk, or they might consume CPU time or other resources.

This can cause either general slowdowns or hickups during game play.

White-list TheDarkMod.exe in Security Software

Make sure that Windows Defender or Anti-Virus, Anti-Spyware, etc aren't constantly scanning or interacting

with TheDarkMod.exe. Add it to your security white-list.

Set TheDarkMod to High Priority

  • Launch TheDarkMod
  • Alt + Enter to exit fullscreen
  • Ctrl + Alt + Del to open your Task Manager
  • Right-click on TheDarkMod.exe the choose "Go to Details"
  • (On the details\processes pane) Right-click on TheDarkMod.exe and mouse-over Set Priority and choose High
  • Alt + Enter to return to fullscreen


Note:

You can also either "End Task" on processes that you know you don't need or set them to "below normal" or "low" priority.

Some processes, such as OneDrive.exe (which is integrated into the OS) will keep restarting so it's best to set these to "low priority"

If you are unsure what a process does, do not change it until you've researched the process.

Ensure that Programs are the main priority in the OS

To begin the process, type sysdm.cpl in Run box and hit Enter to open the System Properties.

Select the Advanced tab and under Performance, click on Settings.

In the Performance Options box, select the Advanced Tab again.

You will see a section Processor Scheduling

Choose "Programs" then click Apply.

Disable Desktop Effects

(If you are willing to sacrifice you desktop visual behavior and effects to play TDM. This can be reverted.)

To begin the process, type sysdm.cpl in Run box and hit Enter to open the System Properties.

Select the Advanced tab and under Performance, click on Settings.

In the Performance Options box, select the Visual Effects tab.

Check "Adjust for Best Performance" then click Apply.

Try different driver versions

Sometimes updating to the latest driver version or reverting to an older version

will improve performance. Try a few revisions or ask about known good driver versions.

(AMD\ATI) Disable Catalyst AI

(This is probably deprecated.)

FAQ#Disable_Catalyst_AI_in_recent_AMD_ATI_drivers

(AMD\ATI) Rename the executable

Most modern drivers have built-in profiles for the executable names of commercial games.

Renaming TheDarkMod.exe to the name of a commercial OpenGL game may gain you some optimizations

or even a Crossfire profile (I believe DarkAthena.exe had one.)

Known working renames:

DarkAthena.exe

Prey.exe

Doom3.exe

WolfMP.exe

Amnesia.exe


(Nvidia) Disable Index Buffers


seta r_useIndexBuffers "0" 

in Darkmod.cfg

(Note: This tweak may not work with upcoming changes to The Dark Mod so revert it before upgrading)

(Nvidia) Disable the Streamer Service

Open your run dialog or command prompt and type services.msc

On the Extended Tab locate "Nvidia Streamer Network Service"

Right-click it and choose "Stop"

Once the service is stopped, right click it again and choose Properties

On the General Tab set Startup Type = Disabled the click Apply.

Do the same for "Nvidia Streamer Service"


You can also perform these steps for any services that you know can be manually started

or are not needed for your daily usage. (Obviously) Do not disable any service that you don't

recognize or know is safe to disable.

(Nvidia) Disable Threaded Optimizations

Open Nvidia Control Panel ->

Manage 3D Settings ->

Bottom half of list locate "Threaded Optimization" <-- Set to NO / Off

Also set "Multi-display/Mixed GPU acceleration" to "Single display performance mode"

This can also reduce or eliminate driver crashes or rendering anomalies.


Optimizing Dark Mod settings

Run TheDarkMod in fullscreen

Running TheDarkMod in windowed mode might be quite a bit slower than fullscreen mode.

seta r_fullscreen "1"

in Darkmod.cfg

Configure Video RAM

Change:


seta com_videoRam "128" 

to the appropriate value (in MB) for your GPU in Darkmod.cfg

Eg. A 2GB video card would have 2048 there.


Disable Post-Processing

In the advanced video settings menu make sure post-processing is disabled


seta r_postprocess "0"

in Darkmod.cfg

Set Object Detail to Low

In the advanced video settings menu lower the Object detail slider below normal

seta tdm_lod_bias "0.5"

in Darkmod.cfg (see also Object_detail )

Set the ambient shading to "Faster"

Inside the settings, change the ambient rendering method to "Faster".

seta tdm_ambient_method "1"

in Darkmod.cfg

Set the interaction.vfp to 'Standard'

In the video settings menu, change the interaction shader to Standard. Lighting will not look as good, but you may gain a few frames per second.


seta tdm_interaction_vfp_type "0"

in Darkmod.cfg

Lightgem interleaved calculation

By default lightgem calculation occurs every frame. You can set lightgem calculation to happen only once per several frames by setting tdm_lg_interleave console parameter to values higher than 1. For example, typing:

tdm_lg_interleave 3

in console tells TDM to recalculate lightgem value every third frame.

This tweak can increase average FPS, but it often produces noticeable stuttering, especially on slow machines when your FPS is below 25 to 30FPS.

You can also split the calculation across frames so that part is done in one frame and part is done in the next:

tdm_lg_split 1

Some folks have reported that this causes flicker but that was in older builds.

I haven't seen any problems with this in recent builds.

This will give a modest boost compared to interleave and both can be used together or independently.

Eg:

Keep tdm_lg_interleave 1 for to prevent stutter at low FPS but set tdm_lg_split to gain a little boost.

or

Set tdm_lg_split to 1 to get you from 26 FPS to 28 FPS as a baseline, then set tdm_lg_interleave to 2 to gain a substantial boost (up to double FPS) but since the baseline is close to 30FPS the risk of stutter is substantially reduced.

See also Weak Lightgem

Lower Anti-aliasing

In the standard video settings, set AA to a lower value or 0


seta r_multiSamples "0" 

in Darkmod.cfg

Disable V-sync

In the standard video settings, disable vsync

seta r_swapInterval "0" 

in Darkmod.cfg

The Dark Mod has extremely variable FPS compared to modern titles due to it's substantial CPU heavy renderer.

We strongly recommend disabling V-Sync altogether or forcing variable V-sync tech such as G-Sync or Freesync in your driver settings while disabling it in-game.

Reduce your resolution!

On older cards, Doom3's render engine is very expensive for every per pixel drawn, and reducing the resolution will help the most. For instance, at 1600x1200 the game needs to draw four times as many pixels as when running 800x600. The result with 800x600 will not look as bad as one might think – but the frame rate improvements might make it much more playable.

If you cannot set the resolution you want in the settings menu then enter it in Darkmod.cfg.

To edit Darkmod.cfg:

  • Uninstall any current mission in the New Mission menu.
  • Close Dark Mod
  • Edit Darkmod.cfg in the darkmod folder
  • Re-install the mission.
  • Whenever you UNinstall and install another mission, these changes will migrate to those FMs as well.

(Alternatively, edit both the Darkmod.cfg in the darkmod folder AND the one in the current FM game folder, eg, fms\chalice.)

Search down for these cvars first and replace them with the values shown:


 seta r_mode "-1"
 seta r_customHeight "640"
 seta r_customWidth "480"

alternate for wide screen monitors:

16:9 ratio

seta r_mode "-1"
seta r_customwidth "1280"
seta r_customheight "720"
seta r_aspectratio "1" 

See also: Resolutions

Lower Anisotropic Filtering

In the standard video settings, lower or disable AF


seta image_anisotropy "0" 

in Darkmod.cfg


The game is very slow!

If you get less than 10 FPS, or the game even stutters, please try this:

Look into your Darkmod.cfg inside your darkmod folder and check that the following settings are like shown below:

 seta image_usePrecompressedTextures "1"
 seta image_useNormalCompression "2"
 seta image_useAllFormats "1"
 seta image_useCompression "1"
 seta image_preload "1"
 seta r_useCachedDynamicModels "1"
 seta r_useShadowVertexProgram "1"
 seta r_useEntityCulling "1"
 seta cm_backFaceCull "1"

Note: image_preload can increase the memory usage at load time, some lowend users have disabled this ( 0 ) to get past malloc errors for going over your memory limits.

Image downsizing

As a last resort, you may enable image downsizing: in Darkmod.cfg, set image_downSize to 1 and then set a limit with image_downSizeLimit, e.g., "image_downSizeLimit" "256".


seta image_downSize "1"
seta image_downSizeLimit "256"

This reduces texture memory requirements and may completely alleviate hard drive thrashing. There are similar cvars for bump and specular maps as well.

Example: Downsize Normal Maps


seta image_downSizeBump "1"
seta image_downSizeBumpLimit "256"

Example: Downsize Specular maps


seta image_downSizeSpecular "0"
seta image_downSizeSpecularLimit "64"

Note: This may result in very blurry briefing and menu screens. This patch will prevent that until the fix is included in a TDM release:

http://forums.thedarkmod.com/topic/11058-things-that-could-be-improved/page-73#entry392752

Note: We recommend that you disable post-processing before using image_downsize.

If you set image_downsizeLimit below 512, part or all of the screen wont render with

post-processing enabled and any image_downSizeLimit value will cause visual errors

when post-processing is enabled.

Drop in Frame Rates when Viewing Water

Some players have reported a drastic drop in performance when an agitated water surface is in view. This on a Radeon card. Try entering this in the console. It disables the water visible surface effects but at least it might let you play normally...


 seta r_skipPostProcess "1"

or


seta r_postprocess "0"

You can also set a key-bind to toggle this instead:


bind "z" "toggle r_postprocess 0 1"


See also FAQ#Underwater_performance_poor

Disable Soft Particles

The new Soft Particle effects in v2.03 and newer use a little more GPU than the previous particles.

This is offset by the fact that v2.03 and higher don't render particles during the lightgem calculation.

Still, if you want an extra boost then set:


seta r_useSoftParticles "0"

in Darkmod.cfg

Disable Fog


seta r_skipFogLights "1" 

in Darkmod.cfg

Disable BlendLights


seta r_skipBlendLights "1" 

in Darkmod.cfg

Disable Particles

This will seriously mar your image quality. Flames, glares, and smoke will all be gone.


seta r_skipParticles "1"

in Darkmod.cfg

Field of View Decrease

Note that this setting might occasionally produce odd effects such as a grabbed object seems to move a little on release.

You can get a performance improvement if you decrease the field of view. By default this is 90 degrees but you might try entering in the console or in your doomconfig.cfg...

g_fov 85

In addition, if you are playing a mission that is too good to miss and reach a very low performance area which is almost unplayable on your machine, you might consider setting the field of view extremely low temporarily to get you through then restore to 90 later...

g_fov 50

Note from Fidcal: I have played comfortably on g_fov 75 and even think perhaps it makes nearby objects more realistically close so you can get right up to a table, etc. Not noticed any problem with restricted view.

Player Shadow

The player shadow slightly reduces performance. It has no game effect at all (not seen by AI for instance) apart from atmospheric effect so if you want to disable it enter in the console:

g_showplayershadow 0

Or, in Darkmod.cfg (see above) change the following line from "1" to "0":

seta g_showplayershadow "0"

Player Lantern Shadow

You may notice a drop in performance while using the player lantern.

Add "noshadows" "1" to entitydef light_lantern_moving in tdm_playertools_lantern.def and this stops the player lantern casting shadows. This helps improve performance slightly when using the lantern.

Gameplay Performance Tips

If you have done everything else you can and performance is still poor then one or two things you might do in game to help:

  • Close all doors after you have passed through. Generally the game has to process both areas until you close the door if the doorway is still in sight.
  • Kill or KO every AI you can. You might not like to play that way but generally, AI still hog resources even out of sight (depending on how set up in the game.)
  • Avoid alerts. A dozen guards searching for you will really slow things down on a low-end machine.
  • Try to look down at the ground when moving along. Gazing up at a grand vista will slow you down. Best to do your gazing while standing still.

Weak Lightgem

Setting:


seta tdm_lg_weak "1" 

in Darkmod.cfg will disable the renderer based lightgem and use a simpler math-based solution. It's a far less accurate lightgem but may allow weaker systems to play the game as a second to last resort.

Toggle settings in realtime

With the exception of Resolution, AA, and AF settings; most of the above settings can be changed in realtime in the console or via a bind in Darkmod.cfg.

For example, you could bind both post-processing and enhanced interaction to the Z key to enable and disable them both by pressing that key


bind "z" "toggle r_postprocess 0 1; toggle tdm_interaction_vfp_type 0 1"

in Darkmod.cfg

Last resort: Upgrade your hardware

Modern games need a lot of computing power, and while you don't need the absolutely newest hardware to play them, upgrading single components of your machine can help tremendously:

  • If you got less than 2 GByte main memory, consider upgrading your memory. This really helps to reduce swapping, which introduces quite noticeable slowdowns.
  • If you got a graphic card from NVidia older than the GF 7x00 series, consider upgrading it.

Upgrading your CPU will be quite complicated and the cost might be so sadly high that you could rather buy a new complete computer. Upgrading the hard disk will usually not help much with gaming, unless you are running out of free space.

Blurry Briefing and Menu Screens

If you get blurry briefing and menu screens then in Darkmod.cfg make sure you do NOT have image_downSize 0. Instead set it to 1. But see also #Image downsizing

See also

| Tweakguides Doom 3

See also the FAQ.