FAKEFACTORY
2010-02-21, 22:01:30
Für alle Benutzer der Cinematic Mod hier eine leicht veränderte autoexec.cfg, die insbesondere beim Nutzen der HD-Modelle folgende Performance-Veränderungen bringt:
- VRAM-Verbrauch von 2.4 GB Spitze reduziert auf 1.2 GB Spitze
- Ladezeiten etwa auf ein Drittel reduziert.
Der Trick liegt in einer unscheinbaren kleinen Anweisung, die das Precachen der NPC-Resourcen verhindert (und die mir bisher immer entgangen ist)
Der Normalzustand der Engine ist folgender:
Lade alle Texturen aller NPCs in den Speicher - egal, ob sie gebraucht werden oder nicht.
Aus Sicht von Valve macht dies Sinn, da es im Vanilla HL2 eine sehr überschaubare Zahl von NPC Texturen gibt. Bei der CM sieht das aber ganz anders aus; die Engine lädt unter Umständen 1 bis 2 GB Texturen umsonst, muss das aber trotzdem irgendwie in den VRAM komprimieren. Dies führt dann unter Umständen zum Überlaufen des VRAM mit allerlei Nebeneffekten wie Stutter, Framedrops oder (im Falle von miesen Treibern) Crashes. Besonders Grafikkarten unterhalb 1 GB VRAM dürften ihre liebe Not haben.
Die unten stehende autoexec.cfg verhindert das überflüssige Precachen.
Öffnet die 3 autoexecs im CM10 Verzeichnis (unter "...\hl2\cfg" "...\episodic\cfg" "...ep2\cfg") und ersetzt deren kompletten Inhalt mit dem da:
// Optimal Settings for CINEMATIC MOD
// Better leave this settings alone, until you know what to do!
// -------------------------------------------------------------------------------------------------------------
// Allow further low-level commands
// -------------------------------------------------------------------------------------------------------------
sv_cheats "1"
// forcemanagedtextureintohardware can prevent stuttering on texture-loading,
// but FPS will most likely drop. Set to "1" only when serious stuttering is
// showing, otherwise set to "0", because this cvar was reported to crash
// the game sporadicaly.
// -------------------------------------------------------------------------------------------------------------
// mat_forcemanagedtextureintohardware "0"
// Fix for Audio Distortion with 5.1 setups. Set this to "1" only, when
// using a 5.1 or 7.1 setup.
// DISABLED FOR NOW - CURRENT ENGINE SHOULD NOT NEED THIS ANYMORE
// -------------------------------------------------------------------------------------------------------------
// snd_digital_surround "1"
// Soundmix Ahead
// Give the source engine some time to fill the soundbuffer. This should prevent
// stuttering on model loading. Lower to 0.1 if you encounter asynchronous sounds
// DISABLED FOR NOW, BECAUSE OF ORANGE BOX MULTICORE CVARS
// -------------------------------------------------------------------------------------------------------------
// snd_mixahead "0.15"
// Use asynchronous sound (possible crashfix)
// Uncomment the line, if you encounter crashes or sound-dropouts:
// DISABLED FOR NOW, BECAUSE OF ORANGE BOX MULTICORE CVARS
// -------------------------------------------------------------------------------------------------------------
// snd_async_fullyasync "1"
// Force the engine to preload as much as possible
// Set to "0", if crashes occurs.
// -------------------------------------------------------------------------------------------------------------
sv_forcepreload "1"
cl_forcepreload "1"
// DON'T precache all the HD civilian textures stuff, because this would need a 2+ VRAM graphics card
// -------------------------------------------------------------------------------------------------------------
npc_citizen_dont_precache_all "1"
// Disable Automatic Save after each Level-Loading
// -------------------------------------------------------------------------------------------------------------
//sv_autosave "0"
// Console enabled
// -------------------------------------------------------------------------------------------------------------
con_enable "1"
bind "\" "toggleconsole"
// Automatically add newfound citizens to the squad?
// -------------------------------------------------------------------------------------------------------------
//npc_citizen_auto_player_squad 0
// Do allow me to manually add and remove squad members via "use" key.
// -------------------------------------------------------------------------------------------------------------
npc_citizen_auto_player_squad_allow_use 1
// Time for squad to wait before automatically returning.
// This is not measured in seconds. A value of "5" equals
// about 10 seconds for me, and a value of "10" equals about
// 30 seconds.
// -------------------------------------------------------------------------------------------------------------
player_squad_autosummon_time "30"
// Slow down normal stepping to realistic speed
// Defaults to :
// hl2_normspeed "190"
// hl2_walkspeed "150"
// -------------------------------------------------------------------------------------------------------------
hl2_normspeed "160"
hl2_walkspeed "140"
// Tune the Mega-Physcannon slightly - because the Enemies are
// a lot stronger
// -------------------------------------------------------------------------------------------------------------
physcannon_mega_tracelength "2000"
// I'm an hard and brutal badass. Therefore show me all the gibs
// -------------------------------------------------------------------------------------------------------------
violence_ablood "1"
violence_agibs "1"
violence_hblood "1"
violence_hgibs "1"
// Sets the amount of decals that stay on objects to the max amount.
// (Disabled for now - this can crash < 512 MB VRAM cards on heavy firefights)
// -------------------------------------------------------------------------------------------------------------
//r_decals "512"
//r_decal_cullsize "0"
// Screenshot Quality
// -------------------------------------------------------------------------------------------------------------
jpeg_quality "100"
// Delay fading of dead opponents
// -------------------------------------------------------------------------------------------------------------
g_ragdoll_lvfadespeed "2"
// Force High quality models. This is NEEDED, because the HD facial animations are depending on it
// -------------------------------------------------------------------------------------------------------------
r_rootlod "0"
// Force high texture quality
// -------------------------------------------------------------------------------------------------------------
// mat_picmip "-10"
// push the LOD swapping (Disabled for now - HD models without normal LOD'ing will drop the fps to ground)
// -------------------------------------------------------------------------------------------------------------
// r_lod "-1"
// Force HDR
// -------------------------------------------------------------------------------------------------------------
mat_hdr_level "2"
// Force expensive reflectivity on water surfaces
// -------------------------------------------------------------------------------------------------------------
r_waterforceexpensive "1"
r_waterforcereflectentities "1"
// Force Colorcorrection
// -------------------------------------------------------------------------------------------------------------
mat_colorcorrection "1"
// Disable NPC facial expressions when the npc is not seen by the player
// -------------------------------------------------------------------------------------------------------------
// ai_expression_optimization "1"
// Experimental dynamic muzzle flashlights (Disabled - heavy FPS drops with high precission lightmapped maps)
// -------------------------------------------------------------------------------------------------------------
ff_dynamic_muzzle "0"
// Flashlight Settings
// -------------------------------------------------------------------------------------------------------------
// Maximum length for player flashlight
r_flashlightfar "1000"
// flashlight cone field of view
r_flashlightfov "65"
// Maximum length for buggy headlight
r_headlightfar "3000"
// Enables or disables dynamic shadows with buggy headlights. Should be off, because of shadow cut problems
FF_vehicle_dynamicflashlight "0"
// headlight cone field of view (horizontal)
FF_vehicle_flashlightfov_h "120"
// headlight cone field of view (vertical)
FF_vehicle_flashlightfov_v "60"
// Some graphics / color / gamma tweaks
// This fits my personal taste with my hardware (high end IPS-PVA display). Comment this block, if you want vanilla settings
// -------------------------------------------------------------------------------------------------------------
// LOD swap distance (800 default)
lod_TransitionDist 1000
// Shadows darkener
r_shadowcolor 75 75 75
// This gives a slightly darker image with more vibrant colors and more defined details
// You should re-adjust your brightness settings in the video config tab
mat_monitorgamma_tv_enabled 0
mat_monitorgamma_tv_exp 1.6
mat_monitorgamma_tv_range_max 255
mat_monitorgamma_tv_range_min 1
// Multicore Optimizations #1
// -------------------------------------------------------------------------------------------------------------
snd_mix_async "1"
// Multicore Optimizations #2 - COMMENT OUT THIS BLOCK, WHEN RUNNING INTO STABILITY PROBLEMS OR USING SINGLE CPU SYSTEMS!
// Note:
// mat_queue_mode is set to default (-1). This is conservative.
// Full multicore would mean setting mat_queue_mode to 2, but this leads to heavy instabilities.
// -------------------------------------------------------------------------------------------------------------
// FAILSAVE FIRST: Disabled this, because some instabilities were reported
Host_thread_mode "1"
mat_queue_mode "-1"
// Grab more memory for datacaching (min heapsizte: default 48 - max heapsize: default 256 - datacache: default 32)
// -------------------------------------------------------------------------------------------------------------
mem_min_heapsize "128"
mem_max_heapsize "1024"
datacachesize "128"
// r_hunkalloclightmaps
// The command prevents lightmaps from loading to the hunk memory set aside for the engine.
// At 1, all the light maps are loaded into the hunk memory. In theory this is faster, since all
// lightmaps are generated at once. When there is too many lightmaps, the hunk memory cannot
// take no more and crashes. At 0, the lightmaps do the opposite, and are not allocated.
// This is a slower method, and can cost a few FPS. However, in larger maps, this is the only work around.
// -------------------------------------------------------------------------------------------------------------
r_hunkalloclightmaps "0"
// Disable Ingame-Voice-Recorder. Not needed, because we are in Singleplayer-mode
// -------------------------------------------------------------------------------------------------------------
voice_enable "0"
sv_voiceenable "0"
voice_modenable "0"
- VRAM-Verbrauch von 2.4 GB Spitze reduziert auf 1.2 GB Spitze
- Ladezeiten etwa auf ein Drittel reduziert.
Der Trick liegt in einer unscheinbaren kleinen Anweisung, die das Precachen der NPC-Resourcen verhindert (und die mir bisher immer entgangen ist)
Der Normalzustand der Engine ist folgender:
Lade alle Texturen aller NPCs in den Speicher - egal, ob sie gebraucht werden oder nicht.
Aus Sicht von Valve macht dies Sinn, da es im Vanilla HL2 eine sehr überschaubare Zahl von NPC Texturen gibt. Bei der CM sieht das aber ganz anders aus; die Engine lädt unter Umständen 1 bis 2 GB Texturen umsonst, muss das aber trotzdem irgendwie in den VRAM komprimieren. Dies führt dann unter Umständen zum Überlaufen des VRAM mit allerlei Nebeneffekten wie Stutter, Framedrops oder (im Falle von miesen Treibern) Crashes. Besonders Grafikkarten unterhalb 1 GB VRAM dürften ihre liebe Not haben.
Die unten stehende autoexec.cfg verhindert das überflüssige Precachen.
Öffnet die 3 autoexecs im CM10 Verzeichnis (unter "...\hl2\cfg" "...\episodic\cfg" "...ep2\cfg") und ersetzt deren kompletten Inhalt mit dem da:
// Optimal Settings for CINEMATIC MOD
// Better leave this settings alone, until you know what to do!
// -------------------------------------------------------------------------------------------------------------
// Allow further low-level commands
// -------------------------------------------------------------------------------------------------------------
sv_cheats "1"
// forcemanagedtextureintohardware can prevent stuttering on texture-loading,
// but FPS will most likely drop. Set to "1" only when serious stuttering is
// showing, otherwise set to "0", because this cvar was reported to crash
// the game sporadicaly.
// -------------------------------------------------------------------------------------------------------------
// mat_forcemanagedtextureintohardware "0"
// Fix for Audio Distortion with 5.1 setups. Set this to "1" only, when
// using a 5.1 or 7.1 setup.
// DISABLED FOR NOW - CURRENT ENGINE SHOULD NOT NEED THIS ANYMORE
// -------------------------------------------------------------------------------------------------------------
// snd_digital_surround "1"
// Soundmix Ahead
// Give the source engine some time to fill the soundbuffer. This should prevent
// stuttering on model loading. Lower to 0.1 if you encounter asynchronous sounds
// DISABLED FOR NOW, BECAUSE OF ORANGE BOX MULTICORE CVARS
// -------------------------------------------------------------------------------------------------------------
// snd_mixahead "0.15"
// Use asynchronous sound (possible crashfix)
// Uncomment the line, if you encounter crashes or sound-dropouts:
// DISABLED FOR NOW, BECAUSE OF ORANGE BOX MULTICORE CVARS
// -------------------------------------------------------------------------------------------------------------
// snd_async_fullyasync "1"
// Force the engine to preload as much as possible
// Set to "0", if crashes occurs.
// -------------------------------------------------------------------------------------------------------------
sv_forcepreload "1"
cl_forcepreload "1"
// DON'T precache all the HD civilian textures stuff, because this would need a 2+ VRAM graphics card
// -------------------------------------------------------------------------------------------------------------
npc_citizen_dont_precache_all "1"
// Disable Automatic Save after each Level-Loading
// -------------------------------------------------------------------------------------------------------------
//sv_autosave "0"
// Console enabled
// -------------------------------------------------------------------------------------------------------------
con_enable "1"
bind "\" "toggleconsole"
// Automatically add newfound citizens to the squad?
// -------------------------------------------------------------------------------------------------------------
//npc_citizen_auto_player_squad 0
// Do allow me to manually add and remove squad members via "use" key.
// -------------------------------------------------------------------------------------------------------------
npc_citizen_auto_player_squad_allow_use 1
// Time for squad to wait before automatically returning.
// This is not measured in seconds. A value of "5" equals
// about 10 seconds for me, and a value of "10" equals about
// 30 seconds.
// -------------------------------------------------------------------------------------------------------------
player_squad_autosummon_time "30"
// Slow down normal stepping to realistic speed
// Defaults to :
// hl2_normspeed "190"
// hl2_walkspeed "150"
// -------------------------------------------------------------------------------------------------------------
hl2_normspeed "160"
hl2_walkspeed "140"
// Tune the Mega-Physcannon slightly - because the Enemies are
// a lot stronger
// -------------------------------------------------------------------------------------------------------------
physcannon_mega_tracelength "2000"
// I'm an hard and brutal badass. Therefore show me all the gibs
// -------------------------------------------------------------------------------------------------------------
violence_ablood "1"
violence_agibs "1"
violence_hblood "1"
violence_hgibs "1"
// Sets the amount of decals that stay on objects to the max amount.
// (Disabled for now - this can crash < 512 MB VRAM cards on heavy firefights)
// -------------------------------------------------------------------------------------------------------------
//r_decals "512"
//r_decal_cullsize "0"
// Screenshot Quality
// -------------------------------------------------------------------------------------------------------------
jpeg_quality "100"
// Delay fading of dead opponents
// -------------------------------------------------------------------------------------------------------------
g_ragdoll_lvfadespeed "2"
// Force High quality models. This is NEEDED, because the HD facial animations are depending on it
// -------------------------------------------------------------------------------------------------------------
r_rootlod "0"
// Force high texture quality
// -------------------------------------------------------------------------------------------------------------
// mat_picmip "-10"
// push the LOD swapping (Disabled for now - HD models without normal LOD'ing will drop the fps to ground)
// -------------------------------------------------------------------------------------------------------------
// r_lod "-1"
// Force HDR
// -------------------------------------------------------------------------------------------------------------
mat_hdr_level "2"
// Force expensive reflectivity on water surfaces
// -------------------------------------------------------------------------------------------------------------
r_waterforceexpensive "1"
r_waterforcereflectentities "1"
// Force Colorcorrection
// -------------------------------------------------------------------------------------------------------------
mat_colorcorrection "1"
// Disable NPC facial expressions when the npc is not seen by the player
// -------------------------------------------------------------------------------------------------------------
// ai_expression_optimization "1"
// Experimental dynamic muzzle flashlights (Disabled - heavy FPS drops with high precission lightmapped maps)
// -------------------------------------------------------------------------------------------------------------
ff_dynamic_muzzle "0"
// Flashlight Settings
// -------------------------------------------------------------------------------------------------------------
// Maximum length for player flashlight
r_flashlightfar "1000"
// flashlight cone field of view
r_flashlightfov "65"
// Maximum length for buggy headlight
r_headlightfar "3000"
// Enables or disables dynamic shadows with buggy headlights. Should be off, because of shadow cut problems
FF_vehicle_dynamicflashlight "0"
// headlight cone field of view (horizontal)
FF_vehicle_flashlightfov_h "120"
// headlight cone field of view (vertical)
FF_vehicle_flashlightfov_v "60"
// Some graphics / color / gamma tweaks
// This fits my personal taste with my hardware (high end IPS-PVA display). Comment this block, if you want vanilla settings
// -------------------------------------------------------------------------------------------------------------
// LOD swap distance (800 default)
lod_TransitionDist 1000
// Shadows darkener
r_shadowcolor 75 75 75
// This gives a slightly darker image with more vibrant colors and more defined details
// You should re-adjust your brightness settings in the video config tab
mat_monitorgamma_tv_enabled 0
mat_monitorgamma_tv_exp 1.6
mat_monitorgamma_tv_range_max 255
mat_monitorgamma_tv_range_min 1
// Multicore Optimizations #1
// -------------------------------------------------------------------------------------------------------------
snd_mix_async "1"
// Multicore Optimizations #2 - COMMENT OUT THIS BLOCK, WHEN RUNNING INTO STABILITY PROBLEMS OR USING SINGLE CPU SYSTEMS!
// Note:
// mat_queue_mode is set to default (-1). This is conservative.
// Full multicore would mean setting mat_queue_mode to 2, but this leads to heavy instabilities.
// -------------------------------------------------------------------------------------------------------------
// FAILSAVE FIRST: Disabled this, because some instabilities were reported
Host_thread_mode "1"
mat_queue_mode "-1"
// Grab more memory for datacaching (min heapsizte: default 48 - max heapsize: default 256 - datacache: default 32)
// -------------------------------------------------------------------------------------------------------------
mem_min_heapsize "128"
mem_max_heapsize "1024"
datacachesize "128"
// r_hunkalloclightmaps
// The command prevents lightmaps from loading to the hunk memory set aside for the engine.
// At 1, all the light maps are loaded into the hunk memory. In theory this is faster, since all
// lightmaps are generated at once. When there is too many lightmaps, the hunk memory cannot
// take no more and crashes. At 0, the lightmaps do the opposite, and are not allocated.
// This is a slower method, and can cost a few FPS. However, in larger maps, this is the only work around.
// -------------------------------------------------------------------------------------------------------------
r_hunkalloclightmaps "0"
// Disable Ingame-Voice-Recorder. Not needed, because we are in Singleplayer-mode
// -------------------------------------------------------------------------------------------------------------
voice_enable "0"
sv_voiceenable "0"
voice_modenable "0"