-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathbase_convars.txt
More file actions
362 lines (324 loc) · 36.6 KB
/
base_convars.txt
File metadata and controls
362 lines (324 loc) · 36.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
// If you would like to donate as a means of showing thanks I have a kofi. \\
// https://ko-fi.com/sqooky \\
// ... ....
// ... .. .. ...
// . . . o .
// . v .
// . o ___ o .
// . _--- -_ .
// o . /^ '\ .
// . / _- /|. | o
// |f1/0 @\Y?u\
// o /u'\_ v _/ f:j| o
// /!#%|'-_- '\%k*|
// o |*@/ \_/
// \)&|
// OptimizationLock v2.2 by Sqooky with help from others <3
// If you would like to donate as a means of showing thanks I have a kofi. \\
// https://ko-fi.com/sqooky \\
// ---------------- GAMEINFO CONFIG Sqooky's.gi / OptimizationLock -- ver. 2.2 --------------- \\
// Check here for updates: https://gamebanana.com/mods/656341 \\
// Downloaded from: https://github.com/Sqooky/OptimizationLock \\
// In-Depth Tutorial: https://www.youtube.com/watch?v=zC3wBYY98vU \\
// ================ Preferences ================
// --- 1. Outlines ---
citadel_boss_glow_disabled "1" // Disables boss and walker glow/highlight effect. [def: "0]
citadel_damage_offscreen_indicator_disabled "true" // The little trooper portraits that show up behind walls. [def: "true"]
citadel_player_glow_disabled "0" // Disables player glow/highlight effect when pinged. [def: "0"]
citadel_trooper_glow_disabled "1" // 1 = Disable friendly/enemy minion glow. [def: "0"]
citadel_unit_status_allies_see_thru_walls_max_distance "40" // How far to make allied players' unit status show through walls. [def: "0"] (0 means no limit)
// --- 2. Field of View ---
// These commands both affect fov but do so in different ways. citadel_camera_hero_fov changes the field of view using typical degrees but doesn't modify the punch zoom in. This means that if you have a high fov value the zoom in can be disorienting.
citadel_camera_hero_fov "106" // The field of view angle of the camera when following a hero. [def: "90"]
//r_aspectratio "2.10" // This command is commented out, represented by the // at the beginning of the line. Editing it will not do anything. To mess with it remove the //
// r_aspectratio changes the zoom of the camera which in turn doesn't make the punch zoom in as jarring, but the command is not as intuitive to set precisely
// 1.75=80fov | 2.15=90fov | 2.49=100fov (every .15 interval = 5 fov).
// --- 3. HUD ---
//citadel_unit_status_use_v2 "0" // Set to 1 to enable the new health bar that allows you to see enemy stamina. [def: "0"]
//citadel_unit_status_use_v2_for_nonplayers "0" // Set to 1 to enable the new health bar but for troopers, objs, and camps. [def: "0"]
citadel_crosshair_hit_marker_duration "0.00001" // Removes the hitmarker when shooting people. [def: "0.1"]
citadel_damage_report_enable "1" // Enables/Disables incoming/outgoing damage tab (tuning this off is very questionable but okay). [def: "1"]
citadel_damage_text_batching_window_ability "1000" // How long to wait until batching damage text.
citadel_hideout_ball_show_juggle_count "1" // Shows a fun juggle count minigame for hideout ball. [def: "0"]
citadel_hideout_ball_show_juggle_fx "1" // Shows juggle visual FX for hideout ball minigame. [def: "0"]
citadel_hud_objective_health_enabled "2" // 0=Off, 1=Shrines, 2=T1/T2, 3=Barracks. [def: "2"]
citadel_unit_status_use_new "1" // This uses new Health Bar, to use old Health Bar change "true" to "false". [def: "0"]
// --- 4. Lighting & Shadows ---
lb_enable_baked_shadows "1" // *Disables baked shadows (game looks bright if this is on while stationary lights = 1). [def: "1"]
lb_enable_dynamic_lights "1" // *Disables dynamic lights eg. walker, shop, tp, character abilities etc. (hero silhouettes go dark in menus as a side effect) [def: "1"]
lb_enable_stationary_lights "1" // *Disables stationary lights (map looks flatter but more performant). [def: "1"]
// --- 5. Skybox Rendering ---
r_draw3dskybox "0" // Enables drawing the 3D skybox layer (distant geometry). [def: "1"]
// --- 6. FPS Caps & Minimized Throttling ---
engine_low_latency_sleep_after_client_tick "true" // Sleeps strategically after client tick to reduce latency/stutter (low-latency pacing). [def: "false"]
engine_no_focus_sleep "20" // Milliseconds the engine sleeps per frame when unfocused (0 = no sleep, not recommended for low-end PC). [def: "20"]
fps_max "0" // Max FPS while in game, limit fps to your monitor refresh rate. [def: "400"]
panorama_max_fps "30" // Menu FPS. [def: "120"]
panorama_max_overlay_fps "30" // Fps In the settings/esc menu. [def: "60"]
// --- 7. Object Culling ---
r_size_cull_threshold "0.9" // *Culls small objects sooner based on screen size threshold (higher = more culling). [def: "0.8"]
// --- 8. Camera Tweaks ---
citadel_camera_soft_collision_angle "360" //
r_citadel_clip_sphere_min_opacity "0" // Removes the blur from the pinhole camera [def: "40"]
//r_citadel_clip_sphere_skin "0.01" // [def: "0.01"]
//r_citadel_clip_sphere_cone_angle "40" // [def: "40"]
//r_citadel_clip_sphere_distance_max "75" // [def: "75"]
// These are various commands for messing with the pinhole camera. I don't fully understand them and they can be ignored for now.
// --- 9. Texture Quality ---
r_texture_budget_threshold "0.7" // Reduce texture memory pool size when this percentage of the budget is full. [def: "0.8"]
r_texture_budget_update_period "0.5" // Time (in seconds) between updating texture memory budget. [def: "0.1"]
r_texture_stream_mip_bias "1" // Worth adjusting, practically how good your textures will look.
r_texturefilteringquality "3" // Texture filtering, has very low fps impact. 0: Bilinear, 1: Trilinear, 2: Aniso 2x, 3: Aniso 4x, 4: Aniso 8x, 5: Aniso 16x
// --- 10. Render Distance ---
r_farz "7000" // This controls the far clipping plane, ie building/player popin [def: "-1"]
r_mapextents "7000" // Far clipping plane, this will make buildings pop in and out [def: "16384"] damn that's an oddly specific number
// ================ IMPORTANT ================
r_particle_max_size_cull "999" // [def: "1200"]
// Particle systems larger than this in every dimension skip culling to save CPU. They will be drawn anyway
// So particle culling is handled by the CPU in deadlock, if you have GPU overhead to spare, consider lowering this value.
// ================= UI ================
citadel_damage_text_show_effectiveness "0" // Shows extra “effectiveness” info in damage text (e.g., resist/weakness style feedback). [def: "0"]
closecaption "false" // I assume this does what it says on the tin [def: "false"]
panorama_allow_transitions "false" // Turns off UI anim (shop,etc) [def: "1"]
panorama_disable_blur "1" // Disables UI blur effects in the UI. [def: "0"]
panorama_disable_box_shadow "1" // Disables UI box shadows in the UI (less GPU/UI cost). [def: "0"]
panorama_temp_comp_layer_min_dimension "128" // Based on the name I'm implied to believe this is the minimum size for panorama compositing, ie blur, rounded corners, etc. [def: "512"]
r_citadel_enable_pano_world_blur "true"
r_dashboard_render_quality "0" // Sets dashboard/UI render quality (lower = cheaper UI rendering). [def: "1"]
// ================ Shadows ================
cl_globallight_shadow_mode "0" // No idea. It is disabled based on the name. [def: "2"]
lb_barnlight_shadowmap_scale "0.5" // Scale for computed barnlight shadowmap size (lower = cheaper). [def: "1"]
lb_csm_cascade_size_override "1" // Enables overriding CSM cascade sizing rules (forces engine to use override values). [def: "1536"]
lb_csm_draw_alpha_tested "0" // Prevents alpha-tested geometry from being included in CSM passes (cheaper, possible missing leaf/fence shadows). [def: "1"]
lb_csm_draw_translucent "0" // Prevents translucent objects from rendering into CSM (cheaper, fewer shadow details). [def: "1"]
lb_csm_override_staticgeo_cascades "0" // Disables realistic static cascades/ shadows from being cast around dynamic shadows such as heroes, uses low quality baked shadows instead. [def: "1"]
lb_csm_override_staticgeo_cascades_value "-1" // Base range of static cascade affects around player shadows. (-1 = minimal/disabled override behavior). [def: "-1"]
lb_dynamic_shadow_resolution_base "256" // Base resolution for dynamic shadows (lower = cheaper). [def: "1536"]
lb_enable_shadow_casting "0" // Disables baked shadows I believe [def: "1"]
lb_ssss_samples "1" // Subsurface sample count [def: "11"]
lb_sun_csm_size_cull_threshold_texels "30" // Culls tiny CSM contributions below a texel threshold (performance). [def: "10"]
r_citadel_gpu_culling_shadows "1" // Enables GPU-driven culling for shadow casters (performance). [def: "0"]
r_citadel_shadow_quality "0" // Deadlock/Citadel shadow quality level (0 = lowest). [def: "2"]
r_shadows "0" // Disables dynamic shadows. [def: "1"]
r_size_cull_threshold_shadow "1" // Threshold of shadow map size percentage below which objects get culled (higher = cull more to save shadow cost). [def: "0.2"]
sc_disable_spotlight_shadows "1" // Disables spotlight shadows. [def: "0"]
sparseshadowtree_disable_for_viewmodel "0" // Disable SST generation and runtime for viewmodel (use original CSM rendering). [def: "1"]
sparseshadowtree_enable_rendering "1" // Enables Sparse Shadow Tree, rendering static geometry into shadow cascades. [def: "0"]
// ================ Lighting ================
cl_retire_low_priority_lights "1" // Replaces/drops low-priority dynamic lights when higher-priority lights are present (helps cap dlight clutter/cost). [def: "0"]
mat_async_shader_load "1" // I have no reason to believe the name doesn't match the function [def: "0"]
mat_set_shader_quality "0" // Force shader quality setting (valid values are 0 or 1). [def: null]
r_citadel_distancefield_farfield_enable "0" // Disables long-range distance field effects. [def: "1"]
r_citadel_ssao_quality "0" // SSAO quality level (0 = lowest/off-ish). [def: "3"]
r_citadel_ssao_thin_occluder_compensation "0" // Disables special handling for thin occluders in SSAO (cheaper). [def: "0.5"]
r_citadel_sun_shadow_slope_scale_depth_bias "1.0" // \\ [def: "3.54"]
r_directlighting "false" // Set to true to have your characters not be black in the shop [def:"true"]
r_distancefield_enable "0" // Disables/ Enables distance-field system (used by some lighting/shadowing/occlusion features). [def: "1"]
r_light_flickering_enabled "1" // Enables light flicker effects where used. [def: "1"]
r_lightmap_bicubic_filtering "1" // Enables bicubic filtering on lightmaps. [def: "1"]
r_lightmap_size "4" // Maximum lightmap resolution.. [def: "65536"]
r_lightmap_size_directional_irradiance "4" // Sets directional irradiance lightmap data size (lower = less detail) (-1 = uses value of r_lightmap_size ). [def: "-1"]
r_multiscattering "1" // Enables multi-scattering lighting approximation. [def: "1"]
r_rendersun "0" // Disables sun lighting. [def: "1"]
r_ssao "0" // Disables screen-space ambient occlusion. [def: "1"]
r_ssao_strength "0" // AO strength multiplier (0 = no AO contribution). [def: "1.2"]
// ================ Ragdolls ================
cl_disable_ragdolls "0" // Keep set to 0 - enabling this (disabling ragdolls) can cause issue with doorman's ultimate. [def: "0"]
cl_ragdoll_limit "-1" // Limit of how many ragdolls can be rendered at once. [def: "-1"]
ragdoll_parallel_pose_control "1" // Multithreaded ragdoll handling, better performance (if ragdolls aren't disabled). [def: "0"]
// ================ Models ================
animgraph_enable_parallel_op_evaluation "1" // Allows animgraph operator evaluation to run in parallel (performance). [def: "0"]
animgraph_enable_parallel_preupdate "1" // Allows animgraph pre-update work to run in parallel (performance). [def: "0"]
cl_fasttempentcollision "1000" // Limits/controls fast collision processing for temporary entities (impacts/tracers/etc.); higher usually = more work. [def: "5"]
cloth_sim_on_tick "0" // Update the cloth simulation every tick [def: "1"]
enable_boneflex "0" // Disables bone flexes (procedural facial/mesh flex drivers). [def: "1"]
ik_fabrik_align_chain "0" // Disables FABRIK chain alignment in IK (cheaper). [def: "1"]
ik_final_fixup_enable "0" // Disables final IK fixup pass (cheaper animations, potentially less accurate). [def: "1"]
phys_threaded_cloth_bone_update "1" // I am inclined to believe this makes the cloth update threaded [def: "0"]
phys_threaded_kinematic_bone_update "1" // I am inclined to believe this makes the cloth kinematics threaded [def: "0"]
phys_threaded_transform_update "1" // Same as above [def: "0"]
props_break_max_pieces_perframe "0" // Makes boxes and troopers break into a single piece [def: "16"]
// In future updates hopefully this being set to 0 will cause them to not leave any pieces behind
r_hair_ao "0" // Disables hair ambient occlusion/shading pass. [def: "1"]
// ================ Visual Clarity ================
cl_show_splashes "0" // Disables splash effects (water/impact splashes). [def: "1"]
mat_colorcorrection "1" // Disables/ Enables color correction (game looks less vibrant when off). [def: "1"]
r_character_decal_resolution "1" // Resolution of character decal texture. [def: "1024"]
r_decals "1" // Maximum number of decals allowed. (lower = fewer bullet holes/blood/impact marks). [def: "2048"]
r_decals_default_fade_duration "1" // How quickly decals (bullet holes) fade [def: "3"]
r_depth_of_field "0" // Disables depth of field. [def: "1"]
r_drawdecals "1" // *Render decals. [def: "1"]
r_effects_bloom "0" // Disables effects bloom. [def: "1"]
r_post_bloom "0" // Disables post-process bloom. [def: "1"]
sc_clutter_enable "false" // Disables clutter props, improves visibility & FPS. [def: "true"]
violence_ablood "0" // Disables alien/other blood effects. [def: "1"]
violence_agibs "0" // Disables alien/other gibs. [def: "1"]
violence_hblood "0" // Disables human blood effects. [def: "1"]
violence_hgibs "0" // Disables human gibs. [def: "1"]
volume_fog_intermediate_textures_hdr "false" // See below [def: "true"]
// Based on the name I would assume that this changes the color depth of the fog. Since the majority of users don't have hdr panels or want bloom, setting this to false is beneficial
// ================ Network ================
// Don't mess with network commands yet
cl_async_usercmd_send "true" // Makes the client send updates asyncronously I belive. Seems to smooth over network jank, although you will need to remove it from lower down in the gameinfo.gi [def: "false"]
//cl_updaterate "128" // Client snapshot update rate requested from the server (higher = more frequent updates). [def: "128"]
//cl_interp "0.01" // Client-side interpolation time (smoothing delay) for rendering other players/entities. [def: 0]
//cl_interp_ratio "1" // Multiplier that affects interpolation time (often cl_interp_ratio / cl_updaterate). [def: "0"]
//cl_smoothtime "0.01" // Smooth client's view after prediction error over this many seconds (Lower = snappier but more abrupt, higher = smoother but floaty). [def: "0.2"]
//cl_resend "15" // Delay in seconds between reconnect attempts (higher = less frequent, helps avoid kicks/timeouts on unstable connections). [def: "0.5"]
// ================ System Related ================
// Chances are these don't matter so you can ignore them
battery_saver "0" // Disables battery saver mode (no automatic throttling). [def: "0"]
cpu_level "1" // CPU level. [def: "2"]
enable_priority_boost "true" //
gpu_mem_level "1" // GPU Memory level. [def: "2"]
//think_limit "0.001" // Limits how much “think” time/entities can process per tick (CPU cap). [def: "10"]
//^ *TODO I am going to need to test this to make sure lowering it doesn't cause problems.
// ================ Input ================
cl_input_enable_raw_keyboard "1" // Enables raw keyboard input handling (more direct input path).[def: "0"]
// ================ Particles ================
cl_particle_batch_mode "1" // Has a range of 1 or 2, 2 will make celeste's auto rebound look weird and 0 will make them not batch [def: "1"]
cl_particle_fallback_base "10" // Base for falling back to cheaper effects under load. [def: "0"]
cl_particle_fallback_multiplier "20" // Multiplier for falling back to cheaper effects under load. [def: "0"]
cl_particle_sim_fallback_base_multiplier "40" // How aggressive the switch to fallbacks will be depending on how far over the cl_particle_sim_fallback_threshold_ms the sim time is. Higher numbers are more aggressive. [def: "5"]
cl_particle_sim_fallback_threshold_ms "0.001" // Amount of simulation time that can elapse before new systems start falling back to cheaper versions [def: "6"]
particle_cluster_nodraw "1" // Skips drawing particle “clusters”/grouped particle batches (performance, fewer small effects). [def: "0"]
r_RainParticleDensity "0" // Density of Particle Rain 0-1. [def: "1"]
r_draw_particle_children_with_parents "0" // I believe this handles the drawing of little visual flourish particles. [def: "-1"]
r_late_particle_job_sync "true" // No idea [def: "false"]
r_limit_particle_job_duration "true" // Seems to help with particle clutter, although I am not sure. [def: "false"]
r_particle_allowprerender "false" // I imagine it renders particles prematurely, which we do not care for. [def: "true"]
r_particle_batch_collections "true" // Batches collections of particles, typically batch rendering is faster so this is set to true. [def: "false"]
r_particle_max_detail_level "1" // The maximum detail level of particle to create. [def: "3"]
r_particle_max_texture_layers "4" // Anything below 4 will make infernus afterburn, paige fire, and drifter's passive look very weird and blocky [def: "-1"]
r_particle_model_per_thread_count "64" // I believe it is how many particle models a thread is allowed to handle. [def: "32"]
r_particle_skip_postsim "true" // Not entirely sure what it does, going off of the name I'd imagine it skips the post simulation, this is a testvar [def: "false"]
r_particle_timescale "1.1" // Speeds up particle simulation, thus making them end sooner, however this causes visual desyncs, most notably with big effects that last a while such as infernus ult. Please tweak this to what you are comfortable with. [def: "1"]
r_physics_particle_op_spawn_scale "0" // Prevents physics-based particle spawns. [def: "1"]
r_world_wind_strength "0" // Disables wind effects, cosmetic only. [def: "40"]
// ================ Lod & Culling ================
//sc_instanced_mesh_size_cull_bias "10" // Bias for size culling of instanced meshes [def: "1.5"]
citadel_use_pvs_for_players "true" // Default culls players when out of view [def: "false"]
mat_viewportscale "0.01" // Scale down the main viewport I belive this gets overwritten by video.txt [def: "1"]
phys_cull_internal_mesh_contacts "true" // Don't simulate the bones inside of a mesh. [def: "false"]
sc_aggregate_bvh_threshold "128" // Not fully sure what these do. Don't change them. [def: "128"]
sc_fade_distance_scale_override "100" // Distance objects fade in and out [def: "-1"]
sc_instanced_mesh_lod_bias "0.15" // Bias for LOD selection of instanced mesh [def: "1.25"]
sc_instanced_mesh_lod_bias_shadow "0.10" // Bias for LOD selection of instanced meshes in shadowmaps [def: "1.75"]
sc_instanced_mesh_motion_vectors "0" // Set 1 if you use motion blur [def: "1"]
sc_instanced_mesh_size_cull_bias_shadow "10" // Bias for size culling instanced meshes in shadowmaps [def: "2"]
sc_layer_batch_threshold "128" // Not fully sure what these do. Don't change them. [default: "128"]
sc_layer_batch_threshold_fullsort "80" // Not sure what these do. Jasper said to leave them at default [def: "80"]
sc_screen_size_lod_scale_override "0.5" // Controls LOD scale. Lower values will have less polys [def: "-1"]
skeleton_instance_lod_optimization "false" // Compute LOD mask internally like since 2016, i.e. force all LOD groups' bones to compute [def: "false"]
// ================ Misc ================
cl_batch_entity_list_ops_during_latch "true" // Batch entity list adds / removes while latching interpolated variables to avoid mutex contention. [def: "false"]
cl_interp_parallel "true" // Run interpolation in parallel for entities with no children. [def: "false"]
cl_modifier_parallel_gather_status_effect_updates "true" // Not sure [def: "false"]
cl_phys_assume_fixed_tick_interval "false" // Assume the client uses a fixed tickrate like the server (which may not always be true)actual [def: "true"]
engine_max_ticks_to_simulate "2" // Max number of ticks to simulate per frame, after which simulation will start to slow down compared to real time. [Def: "-1"]
nav_obstruction_async_update "true" // Not fully sure but async good wowie [def: "false"]
parallel_perform_invalidate_physics "true" // Not sure [def: "false"]
r_async_compute_fog "true" // Just whether to asyncroniously render fog [def: "false"]
r_citadel_depth_prepass_dynamic_objects "false" // Should be not prepassing entities that move [def: "true"]
r_low_latency "1" // This acts as the convar which enables low latency, hardware dependent [def: "1"]
r_renderdoc_auto_shader_pdbs "false" // Automatically generate shader debug info on capture. [def: "true"]
save_parallel "true" // Absolutely no idea but typically paralell processing is good. [def: "false"]
sc_force_materials_batchable "true" // I would imagine this functions as the variable is named. [def: "false"]
r_max_portal_render_targets "2" // Maxium number of Doorman doors to allow rendering. [def: "0"]
// ^ This will cause visual bugs when set to 1, either set it to 2 or 0 to disable them.
// ================ Grass ================
r_grass_end_fade "0" // When to cull grass when far [def: "300"]
r_grass_quality "0" // Quality of the grass [def: "2"]
r_grass_start_fade "0" // When to cull grass when it's close I think [def: "0"]
// ================ Creep AI ================
ai_strong_optimizations_no_checkstand "1" // Not fully sure what exactly this does, but I would imagine given the name of the convar it optimizes ai. [def: "0"]
citadel_npc_force_animate_every_tick "false" // Don't change this, it does what it says on the tin. [def: "true"]
cl_simulate_dormant_entities "false" // Based on the name I would imagine it does what it says. [def: "true"]
// ================ Audio ================
audio_enable_vmix_mastering "false" // Whether the engine uses vmix to master the audio, might be a dev command [def: "true"]
snd_mixahead "0.05" // Adds some latency that shouldn't be percivable to save cpu [def: "0.001"]
snd_occlusion_bounces "0" // Limits audio occlusion to save cpu [def: "1"]
snd_occlusion_rays "0" // Occlusion bounces, this effectively disables them. [def: "4"]
snd_soundmixer_version "1" // [def: "2"]
snd_steamaudio_reverb_order_rendering "0" // The amount of directional detail in the rendered audio by Steam Audio. [def: "0"]
snd_ui_positional "false" // Disables positional audio to save cpu [def: "true"]
snd_steamaudio_num_threads "4" // Audio thread count [def: "4"]
// README This ^ probably depends on how good your cpu is, the better it is the more threads you can allow
// ================ Csm Shadows. ================
// According to jasper these shouldn't do anything, but I'm keeping them because they seemed to provide a performance increase with them disabled
// I need to do benchmarks of the config with and without these commands, however I am LAZY
csm_cascade0_override_dist "0" // All of these commands should reduce shadow quality.
csm_cascade1_override_dist "0" // All of these commands should reduce shadow quality.
csm_cascade2_override_dist "0" // All of these commands should reduce shadow quality.
csm_cascade3_override_dist "0" // All of these commands should reduce shadow quality.
csm_max_dist_between_caster_and_receiver "0" // All of these commands should reduce shadow quality.
csm_max_num_cascades_override "0" // All of these commands should reduce shadow quality.
csm_max_shadow_dist_override "1" // All of these commands should reduce shadow quality.
csm_max_visible_dist "0" // All of these commands should reduce shadow quality.
csm_res_override_0 "1" // All of these commands should reduce shadow quality.
csm_res_override_1 "1" // All of these commands should reduce shadow quality.
csm_res_override_2 "1" // All of these commands should reduce shadow quality.
csm_res_override_3 "1" // All of these commands should reduce shadow quality.
csm_viewmodel_shadows "false" // All of these commands should reduce shadow quality.
// =============== No Clue What These do But it's Probably Important. ===============
//If you test these please report to me on your findings
//r_pipeline_stats_flush_before_sleeping true
//r_pipeline_stats_present_flush true
//r_wait_on_present true
// ================ Convars You Shouldn't/Can't Mess With But I Want to Maintain the Documentation ================
//cl_particle_max_count "1500" // Maximum allowed particles. Setting it too low will cause issues. With flooding from the console. [def: "0"]
//cl_phys_enabled "false" // You can disable physics and might see an improvement in framerate, however a lot will be buggy. [def: "true"]
gpu_level "1" // GPU level literally doesn't matter, gets set to 2 in the engine
r_citadel_npr_force_solid_outline "false" // Causes odd visual bugs with dragons and neutrals when set to true [def: "false"]
r_citadel_npr_outlines "false" // Enable outlines on enemy players. [def: "true"]
r_citadel_npr_outlines_max_dist "1" // Limits outline distance to reduce unnecessary processing. [def: "1000"]
r_citadel_selection_outline2_alpha "0.2" // Outlines on enemy players and abilities on a scale of 0-1. [def: "0.8"]
r_drawskybox "true" // Can't be changed anymore [def: "true"]
// IN TESTING
//panorama_worldpanel_update_culling "true" // Messes with health bar rendering. it is weird.
r_citadel_distancefield_max_distance "16"
r_citadel_distancefield_min_screen_space_size "99"
r_citadel_gpu_culling "true"
r_citadel_gpu_culling_shadows "true"
r_citadel_gpu_culling_two_pass "true"
sc_aggregate_gpu_culling_conservative_bounds "true"
sc_aggregate_gpu_culling_show_culled "true"
sc_aggregate_render_mesh_shader "false"
sc_force_materials_batchable "true"
sc_aggregate_debug_draw_meshlets "-1"
sc_aggregate_debug_draw_meshlets_bounds "true"
//sc_aggregate_show_outside_vis "true" //this makes the entire map stop rendering
sc_allow_dithered_lod "false"
sc_force_materials_batchable "true"
cl_batch_entity_list_ops_during_latch "true"
phys_batch_ray_test "16"
cl_aggregate_particles "true"
sc_aggregate_gpu_culling_conservative_bounds "true"
// Major thanks to all of these individuals from the bottom of my heart. They are all lovely.
//- Sqooky: I am the primary developer and maintainer of the project, but without everyone else here this project would not be maintained to this degree
//- JasperP: My personal hero.
//- Artemon121: Made the Citadel cvar unhider, which helped Abdalla fetch cvars and test in-game.
//- Boot: Provided the csm cvars which had a notable performance improvement.
//- Brullee: Removed fake cvars, redundant commands, added cvarlist.md, and reformatted config
//- Dacooder: Made a wonderful video highlighting me and the config.
//- Kaizuchaneru: While not directly invovled in the deveopment, they tested most cvars
//- Kin: Did an insane amount of benchmarking unprompted.
//- Maihdenless: Started the original OptimisationLock & its Discord.
//- Piggy: Let me mirror his config.
//- Soulx: Gave me five dollars and told me about spirolactone (fucking sick I love you)
//- Tamara Mochaccina: Contributed vindicta scope fix and the fog fix.
// Cool people I've met because of this project who I want to thank anyway
//- 6Daves
//- Anartoast
//- Boot
//- GoreDaughter
//- Jaden
//- Jasper
//- Jb
//- Kin
//- Krisha
//- Masteroms
//- PeachCebo
//- Tamara Mochaccina
//- And you, thank you for using this and making my day <3. Please take care of yourselves.
// --------------------------------- END OF CONFIG OptimizationLock -- ver. 2.2 ------------------------------- \\