Empires

Empires

Not enough ratings
An Actually Practical Guide to Empires Performance
By The32bitguy
A quick guide to improve performance on Empires Source without having to lose much visual quality. Works on multiplayer servers.
   
Award
Favorite
Favorited
Unfavorite
Introduction
Tested on Intel i7-3520m/HD 4000/NVS 5400m/Ubuntu OpenGL with no cheats needed.

Some commands may only be useful on computers with weaker graphics or more CPU cores.

Bottle necking in this game seems to be GPU-->CPU-->RAM. Unless you are running a custom trashtop your CPU/RAM will likely not be the problem.

These commands are focused on improving performance without losing too much visual quality, and unless stated do not override what you set in 'Video' so it is expected that you turn down every setting in 'Video' and 'Audio' before applying these.

Everything can be put into launch options or autoexec.cfg:
Originally posted by Empires Wiki:
Keep in mind that the syntax for the commands changes slightly in Autoexec.cfg as opposed to the Launch Options window. You should not use the -/+ prefix in front of the commands, and the values do not need to be contained in double-quotes:

sv_forcepreload 1 in Autoexec.cfg

as opposed to:

+sv_forcepreload "1" in Launch Options.

autoexec.cfg is in the cfg folder of the main files for Empires, eg
/.steam/debian-installation/steamapps/common/Empires/empires/cfg/autoexec.cfg
Main Commands
r_3dsky [1,0]
- 0 causes anything beyond the map boundaries to not be drawn(see image from emp_arid), causing an abrupt cut off the world visually, but practically no gameplay effect. Noticable FPS increase particularly facing towards map edges.


cl_ejectbrass [1,0]
- If set to 1, weapons eject shells as they fire. If set to 0 they don't and the sounds do not play, shell casings are just several polygons anyway with a .wav file attached but this helps performance.

r_decals [200, 0]
Limits the amount of decals, such as sprays, bullet holes. and map assets(rare). Problems with this not being applied at runtime can be fixed with *r_cleardecals* before/after. Experimenting with a single spray and bullet holes, with *r_decals 1* the spray and bullet hole replace each other but at *r_decals 2-x* the spray remains and the newest bullet hole replaces the oldest one.

mp_decals [200,0]
Seemingly is only applied to multiplayer specific bullet holes, sprays etc and is not destructive to map decals, need more testing in empires.

mat_viewportscale [1,0 float]
- Resolution scaler, 0.5 halves your current resolution of the viewport, provides seemingly same performance benefit and is recomended over lowering resoluton via 'Video' and does not reduce clarity of UI.

mat_hdr_level [0/1/2]
- Set to 0 for no HDR and the most performance, 1 for LDR and bloom on HDR maps, and 2 for full HDR and bloom on HDR maps. This setting is responsible for weird colours on some maps.

engine_no_focus_sleep [0/30]
Limits FPS to 20-30 when the window is out of focus, but may conflict oddly with recording software

net_graph [0,1]
- Comprehensive FPS and client/server network monitoring, better than Steams in-game fps counter or cl_showfps 1/2 but takes up more screen space if that bothers you

r_drawflecks [1,0]
- Stops particles from bullets hitting walls from spawning, no noticable improvment but could be useful on low end iGPUs

cl_new_impact_effects [1,0]
- Source engines "new" particle system for bullet impacts, a value of 0 makes 'flecks' look flat and makes melee attacks not produce them. A value of 0 conflicts weirdly with r_drawflecks 0

mat_bumpmap [1,0] mat_specular [1,0]
- Make textures look a little worse but gives a noticeable performance improvement, recommended for most systems. 'bumpmap' refers to a false 3d effect given to textures and 'specular' is better reflective lighting. Both bumpmap and specular require additional assets to be made for models in order to have an effect.


Adding the following to launch options:
-nosteamcontroller
and
-nojoy
apparently reduce RAM usage slightly, but messages appear in console about controller configurations, needs more testing.
-softdefaultparticlesoff
apparently slightly increases fps:
-softdefaultparticlesoff does make a difference in Dx9 on certain settings, Dx8 users shouldn't notice a difference. iirc it just makes particles not have sharp edges. Similar to FXAA/TAA but for literally just the particle.
Multi-threading Commands
Empires confusingly states that it is build 1723[www.timeanddate.com] despite being originally made with Source SDK 2007 and currently using Source SDK 2013. The games does use the 2013 SDK so these should work.

These commands are most useful on systems with a CPU that has 2 core/4 threads or more, (but I have yet to do benchmark tests on them) otherwise they may put load on cores that have more important functions to process or may just end up on the same core anyway. The Valve Developer wiki says there are (cores-1) threads available for tasks but I assume in the context of mod side code rather than rendering handled by Source.

r_threaded_particles [1,0]
- Determines whether the particle system is multi-threaded. This should be already set to 1, probably increases FPS

r_threaded_renderables [0,1]
- Determines whether part of the rendering system is multi-threaded. This should be probably be set to 1 on CPUs with more than 2 cores, probably increases FPS

mat_queue_mode [-1-2]
Determines the threading mode the material system uses. A value of -1 uses the default for your system, a value of 0 uses synchronous single thread, 1 uses queued single threaded mode, and value of 2 uses multi-threaded mode. -1 fits most systems but you can experiment if the Source Engine seems to fail to detect the proper mode

mat_quece_mode commands

r_queued_post_processing [0,1]
Offloads post processing to the material system, probably increases performance

r_queued_decals [0,1]
Offload decal draws to the material system, beneficial when decal count is above 256 or you have 4 or more CPU cores, probably increases performance in mentioned context

r_queued_ropes [0,1]
Queue some rope rendering using the material system probably increases FPS, most maps don't use anything considered ropes so this is not really useful in Empires

r_threaded_client_shadow_manager [0,1]
No idea what this does and if it works as it is undocumented. Probably introduces threads for shadows?

Miscellaneous Commands
disp_dynamic [0,1]
Uses a dynamic mesh for materials, unknown if this works but causes flashing textures in some games

mat_softwarelighting [0,1]
- The CPU will create lighting. Should increase performance with a severe iGPU bottleneck, although Empires doesn't do much with lighting. Seems to cause a crash if applied with autoexec and a brief freeze if at runtime.

mat_max_worldmesh_vertices [65535, 1024]
- This also increases the number of meshes used for the world, while reducing mesh complexity, increasing CPU usage. This trade-off is only worth it for bad GPUs, like integrated graphics cards with no or poor hardware accelerated transform and vertex shader support.

-threads number
While "threads" are limited to 3 changing this to a higher value can cause instability. Unneeded under most circumstances, as the Source Engine will handle this

mat_forcehardwaresync [1,0]
Syncing frames is good, as it decreases input lag for a few FPS under extreme circumstances. Also, this value is automatically determined based on the material queue mode

sv_forcepreload/cl_forcepreload [0,1]
Experiment, because it apparently cause hitching under certain circumstances.


Cheats
sv_cheats 1
is required to run these commands, so singleplayer only unless there an exception has been programmed in

mat_showlowresimage [0,1]
- Requires cheats, forces textures to be rendered at the lowest possible resolution and disables texture filtering. Some UI elements such as the minimap and crosshairs become unusable

The Part of a Guide that usually tells you to close applications you don't need
You can reduce the passive RAM usage of Steam from 400MB to about 40MB by launching it without the multiple 'steamwebhelper' instances that make up the UI
Windows
It depends on where you have your client installed, modify the following command if needed -
C:\Program Files (x86)\Steam\steam.exe" -no-browser +open steam://open/minigameslist
You can also make a shortcut[www.digitalcitizen.life].

Linux
steam -no-browser +open steam://open/minigameslist

Explanation

The first option stops steam from opening many instances of chromium with add up to absolutely trashbin performance to render the different tabs of the client and the web browser for looking at guides or achievements during play.

The second opens a minimized version of the client that allows you to manage your library, friends and not much else.

If you want to go back to normal remove the paramenters, restart Steam and select 'Library' at the drop down button, 'View'.
Example Configuration Files
A cut down "Rhapsody's Performance Config - 11/19/15" with commands inserted from my testing and other sources.
https://pastebin.com/exfX4KcK
1 Comments
‡|JPL|‡ complete_lamer 12 Sep, 2021 @ 6:11pm 
mat_filtertextures 0 also boosts fps a little and doesn't require cheats. it gives textures a semi-pixelated look, which to be honest looks much better given empires' dated looks