Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Unexplained crashes? Try changing checking through "Threading".
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // dr0wn's Performance Config, based from Comanglia's stability config.
- // Credit to Comanglia & Chris for the original configs.
- // LAST UPDATED: 25th of August 2018
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Launch Options:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- //
- // My Launch Options:
- //FULLSCREEN:// Fullscreen: -full -w 1024 -h 768 -novid -toconsole +map_background preload_room
- //CURRENTLY USING:// -sw -w 1024 -h 768 -noborder -novid -nojoy -nops2b -noff -reuse -softparticlesdefaultoff -nod3d9ex -nod3d9ex1 +map_background preload_room
- //HUD EDITING 1920x1080 16:9// Hud Editing: -dxlevel 90 -sw -w 1920 -h 1080 -noborder -novid -toconsole +map_background preload_room
- //HUD EDITING 1240x768 4:3// Hud Editing: -dxlevel 90 -sw -w 1024 -h 768 -noborder -novid -toconsole +map_background preload_room
- //
- // DirectX Levels:
- // -dxlevel 80, -dxlevel 81, -dxlevel 90, -dxlevel 91, -dxlevel 95, -dxlevel 98
- // DirectX 8 is not supported within' matchmaking, change to DirectX 9.0+ if you're going to be playing matchmaking.
- // You should remove -dxlevel XX from the Launch Options for stability with ALT+Tabbing.
- // If you want to use DirectX 8, use -dxlevel 81. -dxlevel 80 has a few graphical bugs (especially related to overlays) which are fixed by -dxlevel 81, but other than that there isn’t much difference.
- // If you want to use DirectX 9, use -dxlevel 90 or -dxlevel 95. Don’t bother with -dxlevel 98 unless you’re a quality nerd, you’ll get negligible benefit for a sizeable performance loss.
- //
- // -nosrgb - Yet to test properly.
- //
- // -heapsize – Don't use this. It's already listed in the config.
- //
- // -high – Sets the game to high priority. Can cause input latency if it begins to compete with device drivers.
- //
- // -nod3d9ex, -nod3d9ex1 - Disables extensions.
- //
- // -nojoy – Doesn’t work in the OB engine.
- //
- // -sillygibs - Lower quality gibs, best used for more FPS in matchmaking.
- //
- // -32bit – TF2 only has a 32-bit client anyway. Pointless.
- //
- // -32bpp – No. Just no.
- //
- // -nosync – Doesn’t even exist in the Source engine.
- //
- // -gl – Launch the game in OpenGL. Except for the fact that OpenGL isn’t supported on Windows.
- //
- // -threads – Don’t screw with it. It probably won’t do anything for you. If it does, you’ll probably only cause issues for yourself.
- //
- // -nocrashdialog – If TF2 crashes, it won’t display a crash dialog.
- //
- // -autoconfig - Resets all commands to default. BACK-UP before use!
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // FPS Cap:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // The primary benefit of an FPS cap is to make the FPS more stable, other than that, it doesn't do a lot.
- // A moderate, consistent framerate is much more desirable than a variable but sometimes high framerate.
- // A common misconception is that if any more frames are generated than your monitor can display, they are useless.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cl_showfps 0 // Turning this FPS meter on actually decreases FPS by about 3%-4%.
- fps_max 0 // "0" to have no FPS cap. An FPS cap of "132" is recommended for laptops & can help steady performance for streaming.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Network:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Whilst network settings perhaps aren't an integral part of an FPS config, they are a fact of life in competitive TF2.
- //
- // What defines whether a connection is good or bad?
- // Mostly personal preference. If you're not willing to make the choice, try different settings and see which is better for you.
- //
- // Generally, meeting both of the following conditions would classify it as a
- // good connection:
- // - Ping of <80 to the average server you join.
- // - Generally no/negligible choke/loss (can be checked with "net_graph").
- //
- // There's some pretty good documentation on this here:
- // http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // My Network Settings:
- //cl_cmdrate 67.77777
- //cl_interp 0.000000 // Change to whatever you like for certain classes projectiles/popping uber/flames = "0.0152" hitscan = "0.035"
- //cl_interp_ratio 1.000000
- //cl_interp_threadmodeticks 0
- //cl_lagcompensation 1
- //cl_localnetworkbackdoor 1 // Network optimizations for Singleplayer, disabling has about a 1-2% FPS boost, disabling seems to cause minor jitter.
- //cl_predictweapons 1 // Ensure weapon firing prediction is turned on.
- //cl_pred_optimize 2 // Use optimization mode "1" because "2" has a bug currently.
- //cl_smooth 0 // Switch this to "1" if you're making a frag video. Only really benefits on servers with high ping.
- //cl_smoothtime 0.01
- //cl_updaterate 67.77777
- //rate 62000.000000 // Anything above "62,000" is completely useless. Anything above "48,000" is useless in HL.
- //net_splitpacket_maxrate 62000.000000 // min. "1000.000000" max. "1048576.000000"
- //net_queued_packet_thread 0 // Queue split packets on Windows.
- //net_compresspackets 0 // Compress to avoid split packets.
- //net_maxroutable 896 // Use max reliable packet size.
- //net_compresspackets_minsize 897 // Only compress packets if we would send a split packet.
- //net_maxcleartime 4.000 // Use rate to control packet delay.
- //net_maxpacketdrop 1000 // Faster packet drop threshold. Default "5000"
- //net_splitrate 4 // Split 4 packets per frame, reduces choke but is more CPU intensive. "2" for less intensive CPU usage.
- //net_maxfilesize 64 // Max out file upload size for extra content.
- // Good Connection:
- cl_cmdrate 67
- cl_interp .033 // Change to whatever you like for certain classes projectiles/popping uber/flames = ".0152" hitscan = ".033"
- cl_interp_ratio 1
- cl_lagcompensation 1
- cl_pred_optimize 2
- cl_smooth 0 // Only really benefits on with high ping.
- cl_smoothtime 0.01
- cl_updaterate 67
- rate 60000 // Anything above "62,000" is completely useless. Anything above "48,000" is useless in HL.
- // Bad Connection:
- //cl_cmdrate 40
- //cl_interp 0 // Change to whatever you like for certain classes projectiles/popping uber/flames = ".0152" hitscan = ".033"
- //cl_interp_ratio 2
- //cl_lagcompensation 1
- //cl_pred_optimize 2
- //cl_smooth 0 // Only really benefits on with high ping.
- //cl_smoothtime 0.01
- //cl_updaterate 40
- //rate 35000 // Anything above "62,000" is completely useless. Anything above "48,000" is useless in HL.
- // Net Graph:
- net_graph 0
- net_graphtext 1 // Draw text fields.
- net_graphpos 52 // "2" = Middle.
- net_graphheight 105 // Height of netgraph panel.
- net_graphproportionalfont 0 // Determines whether netgraph font is proportional or not.
- net_graphshowinterp 0 // Default "1"
- net_graphshowlatency 1 // Default "1"
- net_graphsolid 0 // Default "1"
- net_graphmsecs 50 // The latency graph represents this many milliseconds.
- net_scale 10 // Default "1"
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Mouse Settings:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- sensitivity 1.75000 // Mouse sensitivity.
- m_yaw .0220000000 // Mouse yaw factor.
- m_side .0220000000 // Mouse side factor.
- m_pitch .0220000000 // Mouse pitch factor.
- m_customaccel_exponent 0 // Mouse movement is raised to this power before being scaled by scale factor.
- m_customaccel_max 0 // Max mouse movement scale factor. Set to "0" for no limit.
- m_customaccel_scale 0 // Custom mouse acceleration value.
- m_filter 0 // Set to "1" to average the mouse over 2 frames.
- m_forward 1 // Mouse forward factor.
- m_mouseaccel1 0 // Windows mouse acceleration initial threshold (2x movement).
- m_mouseaccel2 0 // Windows mouse acceleration secondary threshold (4x movement).
- m_mousespeed 0 // Windows mouse acceleration. Set to "2" to enable secondary threshold.
- m_customaccel 0 // Custom mouse acceleration.
- m_rawinput 1 // Use Raw Input for mouse input. Set to "0" if not using Raw Input.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Close Captions:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cc_lang "clovervidiar"
- closecaption 0
- cc_subtitles 0 // You may need this on "1" for Close Captions to work, depending on your HUD.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Idle Script:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- alias afkon "+forward; +moveleft; +left; [Enabled]"
- alias afkoff "-forward; -moveleft; -left; [Disabled]"
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Console:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- bind "`" "toggleconsole"
- con_drawnotify 0 // Disables drawing of notification area (for taking screenshots).
- con_enable 1 // Allows the console to be activated.
- con_filter_enable 1 // Filters console output based on the setting of con_filter_text. "1" filters completely, "2" displays filtered text brighter.
- con_filter_text_out Compact freed // Text with which to filter OUT of console spew. Set con_filter_enable "1" or "2" to activate.
- //con_logfile // Console output gets written to this file.
- con_notifytime 8 // How long to display recent console text to the upper part of the game window.
- con_nprint_bgalpha 50 // Con_NPrint background alpha.
- con_nprint_bgborder 2 // Con_NPrint border size.
- con_timestamp 0 // Prefix console.log entries with timestamps.
- //con_trace 0 // Print console text to low level printout.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Sprays:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Bear in mind that these are disabled on war servers due to "sv_pure 2" anyway, so if you play competitive TF2, this won't help you.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cl_playerspraydisable 1
- r_spray_lifetime 0
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Water:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- mat_wateroverlaysize 1 // "1"
- r_waterforceexpensive 0 // "0"
- r_waterdrawrefraction 0 // "1"
- r_cheapwaterend 0.1 // "1"
- r_cheapwaterstart 0 // "1"
- r_waterdrawreflection 0 // "0"
- r_waterforcereflectentities 0 // "0"
- r_forcewaterleaf 1 // "1"
- cl_show_splashes 0 // "1"
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Matchmaking:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Adjusts casual/competitive matchmaking settings.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- tf_mm_custom_ping 75 // The ping tolerance for matchmaking.
- tf_mm_custom_ping_enabled 1 // Enable custom ping tolerance.
- tf_mm_dashboard_slide_panel_step 0.0001 // Change the speed of the matchmaking panel.
- tf_mm_debug_level 0 // Remove matchmaking debug output.
- tf_mm_partyclient_debug 0 // Remove party debug output.
- tf_party_ignore_invites 0 // Ignore party invites.
- tf_party_join_request_mode 1 // Mode for party join requests: 0 - open join, 1 - request join, 2 - invite join
- tf_party_force_update // Force an update to the party system on launch.
- //tf_party_keep_on_same_team 0 // Do not enforce parties being on the same team. (not implemented)
- //tf_datacenter_ping_debug 1 // Turn on debugging for server routing.
- //tf_datacenter_ping_dump // Dump server routing debug info.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Transparent Viewmodels:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // DirectX 9.0+ ONLY! DEFAULT OFF. -dxlevel 85
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- mat_motion_blur_enabled 0 // "1" To enable, the only sure-fire way to keep refract masking on.
- mat_motion_blur_strength 0 // "0" Effectively disables motion blur (personal choice). Motion blur gets masked and looks bad with refract masking.
- mat_disable_bloom 1 // "1" To enable, disables bloom so refract masking doesn't create a dark rectangle over light materials.
- mat_bloomscale 0 // "0" Adjustment of the Bloom effect.
- mat_hdr_level 0 // Set to "0" for no HDR, "1" for LDR + Bloom on HDR maps & "2" for full HDR on HDR maps.
- mat_colcorrection_disableentities 1
- mat_colorcorrection 0
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Servers:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // To join servers by typing a certain word in console.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- alias cunt "connect 66.150.188.38:27015" // Enter 'cunt' in the console to connect to stabby's Server.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Scoreboard:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- tf_scoreboard_ping_as_text 1
- tf_scoreboard_mouse_mode 2
- bind tab "+scoreboard"
- //alias +scoreboard "+showscores; net_graph 4; cl_showfps 2; cl_showpos 1; developer 1; mat_filterlightmaps 1; mat_filtertextures 1; mem_compact"
- //alias -scoreboard "-showscores; net_graph 0; cl_showfps 0; cl_showpos 0; developer 0; mat_filterlightmaps 0; mat_filtertextures 0; mem_compact"
- alias +scoreboard "+showscores; net_graph 4"
- alias -scoreboard "-showscores; net_graph 0"
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Shadows:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- r_shadows 0 // "1"
- cl_blobbyshadows 0 // Render a blob for shadows.
- r_shadowmaxrendered 0 // "4"
- mat_shadowstate 0 // "1"
- nb_shadow_dist 0 // "200"
- r_shadowrendertotexture 0 // Non-blobby shadows. Sometimes turned on by
- // competitive TF2 players to see opponents standing
- // near the other side of a wall. You may see some
- // performance loss from setting this to "1".
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Facial Features:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- r_eyes 0
- r_flex 0
- flex_rules 0 // Disable facial animations.
- anim_3wayblend 0 // Disable 3-way animation blending.
- r_lod -1 // Use r_rootlod to properly fade through LODs.
- ai_expression_optimization 0 // Disable expression optimization.
- ai_expression_frametime 0 // Disable expressions entirely.
- cl_SetupAllBones 0 // Do not force every animation component of a model to be set up.
- flex_smooth 0 // Do not smooth facial animations.
- mp_usehwmmodels -1 // Enable the use of the hw morph models. (-1 = never, 1 = always, 0 = based upon GPU)
- mp_usehwmvcds -1 // Enable the use of the hw morph vcd(s). (-1 = never, 1 = always, 0 = based upon GPU)
- r_glint_procedural 0 // Use the default eye glinting method.
- tf_clientsideeye_lookats 0 // Disable eye lookats.
- r_rootlod 2
- r_teeth 0
- r_eyemove 0
- r_eyeshift_x 0
- r_eyeshift_y 0
- r_eyeshift_z 0
- r_eyesize 0
- blink_duration 0.02
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Crosshair:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cl_crosshairalpha 255 // Disable transparency for lowend computers. (0 to 255)
- cl_crosshair_red 0 // Crosshair red. (0 to 255)
- cl_crosshair_green 255 // Crosshair green. (0 to 255)
- cl_crosshair_blue 0 // Crosshair blue. (0 to 255)
- cl_dynamiccrosshair 0 // Change crosshair according to weapon.
- cl_observercrosshair 0 // Disable crosshair in spectator.
- crosshair 1 // Disable crosshair.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // FOV:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- viewmodel_fov 90 // Change this to whatever FOV you want to use.
- fov_desired 90
- viewmodel_fov_demo 90 // Change this to whatever FOV you want to use reviewing demos.
- tf_use_min_viewmodels 1 // Set to "1" to use minimum viewmodels.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Ragdolls:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cl_ragdoll_collide 0 // "1" Collision between corpses.
- cl_ragdoll_forcefade 1 // "0" If set to "1" then cl_ragdoll_forcefade is used.
- cl_ragdoll_fade_time 0.001 // "7" Fading time in seconds of corpses. "0" = No Corpses
- cl_ragdoll_physics_enable 0 // "1" Ragdoll system for the corpses. "0" means corpses standing around with no animation.
- g_ragdoll_fadespeed 10000 // "10000" The rate of ragdoll fading. Higher is faster fading rate, so 0 will not fade and cause memleaks.
- g_ragdoll_lvfadespeed 10000 // "10000"
- ragdoll_sleepaftertime "0" // Instantly sleep ragdolls.
- g_ragdoll_important_maxcount 0
- cl_ragdoll_pronecheck_distance 0
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Gibs:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // You will have reduced performance on deaths which produce gibs.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cl_phys_props_enable 0 // "1"
- cl_phys_props_max 0 // "128"
- cl_burninggibs 0 // Disable burning gibs.
- cl_phys_props_respawnrate 120 // Respawn physics props at a slower rate.
- cl_phys_props_respawndist 900 // Do not spawn props until we can see them.
- prop_active_gib_limit 0 // "0"
- props_break_max_pieces_perframe 0 // "-1"
- props_break_max_pieces 0 // "-1"
- r_propsmaxdist 1 // "900"
- violence_agibs 1 // "1"
- violence_hgibs 1 // "1"
- violence_ablood 1 // "1" I leave blood on to track bleeding DR spies, that's it. - stabby
- violence_hblood 1 // "1" I leave blood on to track bleeding DR spies, that's it. - stabby
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Lighting:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Lights projected onto characters and other dynamic models.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- r_ambientboost 0 // Boosts reflected light, gives you vision advantage, especially in darker environments.
- //r_ambientboost 0 // Disable if you need to save the small amount of CPU this uses.
- r_ambientmin 0.0 // Allow for ambient boosting even in brighter light levels, makes characters stand out.
- //r_ambientmin 0.3 // Use TF2 default ambient boost threshold.
- //r_ambientmin 0.1 // Ambient boost less often, realistic darkness.
- //r_ambientmin 1.1 // Ambient boost every time.
- r_rimlight 1 // Rimlighting is a distinct design choice in TF2 for better visibility of classes.
- //r_rimlight 0 // Disable light around character edges, very small FPS increase, rimlight uses GPU only.
- mat_phong 0 // Use a phong shader for shading/reflection.
- //mat_phong 0 // Disable phong for flatter shading.
- r_lightaverage 0 // Disable this lighting job that uses a lot of CPU even if it is not needed/noticeable.
- //r_lightaverage 1 // Enable time averaging of lighting to reduce popping.
- r_dynamic 0 // Disable dynamic lighting. (muzzle flash lighting, explosions and other lighted effects)
- //r_dynamic 1 // Enable dynamic lighting.
- r_maxdlights 0 // Do not allow any dynamic lights.
- //r_maxdlights 9 // Reduce maximum dynamic lights.
- //r_maxdlights 32 // Use the maximum number of dynamic lights.
- r_worldlightmin 0.0000 // Do not render insignificant world lighting.
- //r_worldlightmin 2 // Reject all world lighting.
- //r_worldlightmin 0.0002 // Render practically all world lighting.
- //r_worldlightmin 0 // Render all world lighting, no matter how insignificant it may be.
- r_worldlights 4 // Disable world lights.
- //r_worldlights 2 // Reduce maximum lights applied to a vertex.
- //r_worldlights 4 // Use the maximum amount of world lights.
- mat_disable_fancy_blending 1 // Disable fancy blending.
- //mat_disable_fancy_blending 0 // Enable fancy blending.
- mat_disable_lightwarp 0 // Disable light warps.
- //mat_disable_lightwarp 0 // Enable light warps.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Graphical:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Now we come to the main brunt of the config. You probably don't want to mess with this.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- tf_colorblindassist 1 // Shows jar icons over jarated targets.
- mat_antialias 0 // Apparently having this on "0" can break the mumble overlay for some users.
- cl_muzzleflash_dlight_1st 0 // Muzzle flash lights in first person.
- muzzleflash_light 0 // Muzzle flash lights.
- engine_no_focus_sleep 0
- cl_detaildist 0
- cl_detailfade 0
- cl_drawmonitors 0 // Do not draw monitors.
- cl_ejectbrass 0 // Disable shell ejection from pistols, shotgun, minigun, etc.
- cl_jiggle_bone_framerate_cutoff 0 // Turns off jigglebones for botkiller weapons under the optimal framerate.
- cl_new_impact_effects 0
- cl_rumblescale 0
- cl_particle_batch_mode 1 // Use default particle batch mode due to buggy tracers on mode 2.
- cl_showhelp 0
- cl_showpluginmessages 0
- cl_debugrumble 0
- func_break_max_pieces 0
- glow_outline_effect_enable 0 // Cart glow effect. DirectX 9 only.
- tf_enable_glows_after_respawn 0 // Player glow after re-spawning. DirectX 9 only.
- lod_transitiondist -1
- mat_bumpmap 0 // Controls bumpmapping. Setting this to 0 on dx9 will cause
- // a strange 'shine' effect to appear on all players. - Chris
- //
- // In the past I wasn't able to prove that disabling this was significant,
- // it effects FPS by about 1% after several checks. - Comanglia
- mat_envmapsize 0 // "8"
- mat_envmaptgasize 0 // "8"
- mat_filterlightmaps 0
- mat_filtertextures 0
- mat_forceaniso 0 // Disable higher levels of anisotropic filtering.
- mat_autoexposure_max 0
- mat_autoexposure_min 0
- mat_bloom_scalefactor_scalar 0
- mat_postprocessing_combine 1 // Combine bloom, software anti-aliasing and color correction into one post-processing pass.
- mat_non_hdr_bloom_scalefactor 0 // Completely disable bloom on LDR.
- mat_bufferprimitives 1
- mat_compressedtextures 1
- mat_debugdepth 0
- mat_debug_postprocessing_effects 0
- mat_forcemanagedtextureintohardware 0
- mat_framebuffercopyoverlaysize 0
- mat_hdr_enabled 0
- mat_hdr_manual_tonemap_rate 0
- mat_mipmaptextures 0 // "1"
- mat_software_aa_blur_one_pixel_lines 0
- mat_software_aa_edge_threshold 0 // "9"
- mat_software_aa_quality 0 // "9"
- mat_software_aa_strength 0
- mat_software_aa_strength_vgui 0
- mat_software_aa_tap_offset 0
- mat_texture_limit -1 // If this value is not "-1", the material system will limit the amount of texture memory it uses in a frame. Useful for identifying.
- mat_use_compressed_hdr_textures 1
- mem_max_heapsize 2048 // Maximum amount of RAM allowed. "2048"=2GB, "4096"=4GB, "6144"=6GB, "8192"=8GB.
- mod_forcedata 1 // Forces all model file data into cache on model load.
- mod_forcetouchdata 1 // Forces all model file data into cache on model load.
- mat_max_worldmesh_vertices 1024 // "65536"
- mat_monitorgamma 1.7 // Controls brightness, try "1.6" to make it brighter or "2.2"
- // to get it darker. Only works in fullscreen.
- mat_monitorgamma_tv_enabled 0 // Turn off TV Mode for less off-set light.
- mat_parallaxmap 0
- mat_picmip 2 // "-1" = High "2" = Low. Setting this value to "2" can cause crashes on some newer maps.
- mat_reducefillrate 1
- mat_reduceparticles 1
- mat_specular 0 // Controls specularity. Setting this to "0" will make ubers
- // non-shiny, and will remove some specular effects from in-game entities which support it.
- // Setting this to "0" while trilinear is off lowers framerate for some reason.
- mat_fastspecular 1 // Faster spec but lower quality.
- mat_trilinear 1 // Use trilinear as it improves texture filtering for little.
- mat_viewportscale 1 // Almost no performance gain from viewport upscaling.
- // "0.5" to "1" is the acceptable range on this,
- // if you do get a FPS boost from this but "0.5" is to blurry try "0.75" or "0.9"
- mat_viewportupscale 1
- mp_decals 0 // Just keep this below 60ish and you shouldn't notice much different at all.
- r_3dsky 0
- r_decals 0 // "9"
- r_maxmodeldecal 0 // "9"
- r_decalstaticprops 0 // Do not use some lighting data for static props, disable decals on static props.
- r_decal_cullsize 0 // "15"
- r_drawdetailprops 0
- r_drawmodeldecals 0
- r_screenfademinsize 150
- r_screenfademaxsize 250
- cl_particle_retire_cost 0.0001
- r_drawropes 0
- mem_min_heapsize 144
- fx_drawimpactdebris 0
- fx_drawimpactdust 0
- tf_impactwatertimeenable 1
- fx_drawmetalspark 0
- dsp_off 1
- r_decal_cover_count 1 // Remove decal when there is 1 decal in its place/close to completely covering it.
- r_drawflecks 0
- r_flashlightdepthtexture 0 // Disable the CPU intensive depth texturing for shadows
- r_flashlightmodels 0 // Disable lighting models.
- r_flashlightupdatedepth 0
- r_flashlightrenderworld 0
- r_flashlightrender 0 // Disable flashlight shadow.
- r_flashlightscissor 1 // Disable shadow rendering where it is unneeded.
- r_flashlightdepthres 32
- r_overlayfadeenable 0 // Fading overlays can cause small performance issues.
- r_overlayfademax 1000 // Optimize overlay fades if it happens to be enabled.
- r_overlayfademin 999 // Optimize overlay fades if it happens to be enabled.
- r_maxnewsamples 0
- r_maxsampledist 0 // Default "128"
- r_bloomtintb 0
- r_bloomtintexponent 0
- r_bloomtintg 0
- r_bloomtintr 0
- r_occlusion 0 // "1" Use CPU to have the GPU skip rendering models/props you cannot see.
- r_pixelfog 1 // Set to "1" if using DirectX 9 or your game will look foggy.
- r_renderoverlayfragment 0 // Will enable some things. e.g. signs, the team color stripes on the walls.
- r_staticprop_lod 63 // "-1" Automatic.
- r_drawtracers_firstperson 1 // Should give a small FPS boost in 1st person.
- r_pixelvisibility_partial 0 // Do not use a costly precise partial visibility algorithm.
- r_drawpixelvisibility 0 // Do not draw debug for partial visibility checking.
- r_dopixelvisibility 0 // Do not do CPU intensive pixelvis. (disabled anyway by building_cubemaps 1)
- r_drawbatchdecals 0
- r_particle_sim_spike_threshold_ms 0 // Early finish to unused particle performance stats.
- r_hunkalloclightmaps 0 // If a lightmap cannot be fit into the hunk, use dynamic memory.
- r_lightcache_zbuffercache 1
- r_PhysPropStaticLighting 1 // Use premade lighting for props, increases FPS.
- rope_rendersolid 0
- r_ropetranslucent 0 // Skip simulating ropes.
- rope_shake 0
- rope_solid_minalpha 0 // Skip drawing non-solid part of ropes.
- rope_solid_minwidth 0.1 // Skip drawing ropes if they are not large enough on screen.
- rope_smooth 0 // Skip a long smoothing operation for ropes.
- rope_subdiv 0 // Skip heavy loops for rope subdivisions.
- rope_collide 0 // Skip CPU heavy world collisions for ropes.
- rope_wind_dist 0 // Do not apply CPU intensive wind to ropes.
- rope_averagelight 1 // Only use average light, instead of an extra max intensity average with 0.
- tf_quest_map_tuner_wobble_magnitude 0 // Disable the red tuner on the contracker.
- tf_item_inspect_model_auto_spin 0 // Do not auto spin items in the inspect view.
- tf_hud_target_id_show_avatars 0 // Never show avatars.
- tf_particles_disable_weather 1 // Disable weather effects on maps supporting
- // it, for example, setting this to "1"
- // disables rain effects on Sawmill.
- tracer_extra 0 // Remove extra fluff to bullet lines that make them thicker.
- mat_motion_blur_forward_enabled 0
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Sound:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // I'd be hesitant to say that you would see a great deal of performance improvement from lowering the sound quality, but in my experience as a
- // competitive TF2 player, lowering the sound quality makes determination of directionality and distance that much easier. You may see a small FPS gain
- // with these settings, or you may not, either way will likely have a negligible effect on performance.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- volume 0.1
- voice_enable 0 // "1" to enable voice communication.
- voice_steal 2 // Reuse unimportant sound channels, increases FPS and sound quality.
- voice_scale 0.0
- dsp_enhance_stereo 1
- dsp_db_mixdrop 1 // Disable volume scaling.
- dsp_db_min 0 // ^
- dsp_mix_min 0 // ^
- dsp_mix_max 0 // ^
- dsp_spatial 0 // Disable spatial effect.
- dsp_speaker 0 // Disable administrator effect.
- dsp_water 0 // Removes "underwatery" sound.
- dsp_slow_cpu 1
- snd_disable_mixer_duck 1 // Disable some sounds being mixed to be louder than others.
- snd_async_fullyasync 1 // Having the sound run fully asynchronous has been
- // helpful in the past, as it seems to (for whatever
- // reason) reduce the number of TDRs experienced during
- // gameplay. There's some pretty good information on
- // TDR's here:
- // http://forums.nvidia.com/index.php?showtopic=65161
- snd_pitchquality 0
- snd_spatialize_roundrobin 3
- snd_mixahead 0.1 // Delay in sound from weapons below ".05" has been known to be unstable.
- snd_cull_duplicates 1
- snd_mix_async 1
- // Hit Sound:
- play "hitsound.wav" // Name of the file you want to use. This pre-caches the sound.
- tf_dingalingaling 1
- tf_dingaling_pitchmaxdmg 150 // Higher pitch for high damage.
- tf_dingaling_pitchmindmg 50 // Lower pitch for less damage.
- tf_dingaling_lasthit_volume 1
- tf_dingaling_lasthit_pitchmindmg 150 // Higher pitch for high damage.
- tf_dingaling_lasthit_pitchmaxdmg 50 // Lower pitch for less damage.
- // Toggle Volume:
- bind "F10" "snd_restart" // Fixes looping sounds.
- bind "F11" "togglemute"
- alias togglemute "togglemuteb"
- alias togglemuteb "volume 0.0; alias togglemute togglemuter"
- alias togglemuter "volume 0.3; alias togglemute togglemuteb"
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Threading:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- mat_queue_mode 2 // mat_queue mode is another frequently asked about cvar, it
- // defines the threading method to be used by the material
- // system. It has been unstable to use in the past, but
- // nowadays it's generally okay.
- //
- // Here are the possible values:
- // -2 legacy default
- // -1 default
- // 0 synchronous single thread
- // 1 queued single thread
- // 2 queued multi threaded
- //
- // If you have problems with the value `2', try setting it to
- // `-1'.
- //
- // As an aside, there are quite a few bugs in the demo system
- // that occur when mat_queue_mode is set to a value that is
- // not `-1'. If you intend to do work with the demo system,
- // maybe you should change this.
- //
- // After immense testing I've found that default works perfectly
- // fine with setting your Thread usage. It automatically set me
- // to 2 every time. I'd say it's safer and likely less buggy to
- // leave this at -1 than it is at 2.
- //
- // As a side not I've noticed micro stutters with mat_queue_mode 2
- // at 1000+ fps where mat_queue_mode 1 did not stutter at 1000+ fps
- studio_queue_mode 1 // Default "1"
- cl_threaded_client_leaf_system 1 // Asynchronously add new renderables and compute blends for added renderables.
- building_cubemaps 1 // Disables various post processing effects.
- r_queued_decals 0 // Lessens the impact of higher decal limits.
- r_queued_ropes 1 // Default "1"
- r_queued_post_processing 0 // If you do like post processing effects keeping this on should lessen the impact on framerate.
- r_threaded_client_shadow_manager 1 // Default "0"
- cl_threaded_bone_setup 1 // WARNING if you don't have a Quad-Core CPU or better you SHOULD NOT LEAVE THIS ON!
- r_threaded_particles 1 // Default "1"
- r_threaded_renderables 1 // Default "0"
- host_thread_mode 1 // Set to "0" if Local Host. Run the host in threaded mode. (0-off, 1-multicore, 2-force)
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // HUD:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cl_hud_minmode 1 // Set to "1" if you use your HUD in minimal mode.
- cl_hud_playerclass_playermodel_showed_confirm_dialog 1 // 3D Playermodel confirm dialogue.
- cl_hud_playerclass_use_playermodel 1 // 3D Playermodel.
- tf_hud_show_servertimelimit 1
- tf_hud_target_id_disable_floating_health 0 // Set to "1" to disable floating health above player models.
- tf_hud_target_id_alpha 150.00
- hud_achievement_glowtime 0 // Default "2.5" // About a 1.5% FPS boost being on "0"
- hud_achievement_count 0 // Default "8" // Max number of achievements that can be shown on your HUD.
- hud_achievement_tracker 0 // Default "1" // Show or hide the achievement tracker
- hud_saytext_time 0 // Default "12" // Time in seconds the chat displays for.
- hud_combattext_batching 0
- hud_combattext_batching_window 2.0
- hud_fastswitch 1
- hud_deathnotice_time 4 // Default "6" // Death notices that usually appear at the top right of the screen.
- cl_notifications_show_ingame 0 // Default "1" // Show pop-up notifications. FPS boost disabled.
- vgui_drawtree 0
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Anti-Virus by Casual:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Protection against server_can_execute bypass.
- // Make your cfg/config.cfg read-only for extra protection!
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cl_allowupload 0
- alias cl_allowupload "echo Blocked cl_allowupload!"
- alias clear "echo Blocked clear!"
- alias unbindall "echo Blocked unbindall!"
- // Adblock for motd, extra protection:
- // > Create an empty file in your tf directory named textwindow_temp.html and make it read-only (this prevents the motd from being saved & loaded)
- // > Add '127.0.0.1 motd.pinion.gg' to your hosts file. This prevents a well known motd advertising network to load
- cl_disablehtmlmotd 1
- alias closed_htmlpage "echo Blocked pinion!"
- // Gets rid of servers playing annoying sound files:
- alias play "echo Blocked play!"
- alias sndplaydelay "echo Blocked sndplaydelay!"
- alias playgamesound "echo Blocked playgamesound!"
- alias soundfade "echo Blocked soundfade!"
- // Servers don't need this:
- alias cl_spec_mode
- alias rpt_connect
- alias r_screenoverlay
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Recording:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // P-REC & Default TF2 Demo Recording Commands.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- //prec_show_stv_status // Command - Show current sourcetv status.
- //prec_tag // Custom tag (can be used in demo name format). (default "")
- //prec_check_update 0 // Check for updates on startup. (default 1)
- //prec_stv_status 0 // Show SourceTV statistic after the match. (default 1)
- //prec_notify 1 // 0 - Print to console.
- // 1 - Say to team chat. (default)
- // 2 - Show on hud.
- //prec_log 1 // 0 - Don't log.
- // 1 - Log into killstreaks.txt. (default)
- // 2 - Log separately for each demo.
- // 3 - Log separately for each map.
- //prec_screens 0 // Make screenshoots of scoreboard and status. (default 0)
- //prec_delete_useless_demo 1 // Delete demo files without bookmarks and killstreaks. (default 0)
- //prec_min_streak 10 // Minimum amount of kills without dying to save time of killstreak. (default 4)
- ////prec_next_demoname // Set this var if you want change name of next recorded demo. (default "")
- //prec_mode 2 // 0 - Turn off addon.
- // 1 - Record only curstomnamed demos.
- // 2 - Record all demos (with mp_tournament 1). (default)
- // 3 - Record all demos.
- //prec_kill_delay 15 // Max delay between kill's in Killstreaks. (default 15)
- //prec_dir "\demos" // Directory to save demos (default "")
- //prec_sound 0 // Play sound when start/stop recording. (1 - on (default) ,0 - off)
- //prec_about // Command - Plugin Info.
- //prec_version // Command - Plugin Version.
- ////prec_delete_demo // Command - Delete previous recorded demo.
- ////prec_record // Command - Record a demo.
- ////prec_info // Command - List of all commands.
- ds_enable "2" // Type of recording. "2" Record all games.
- ds_min_streak "10" // Minimum amount of kills without dying to save time of killstreak.
- ds_kill_delay "15" // Max delay between kill's in Killstreaks.
- ds_sound "0" // Play sound when start/stop recording. (1 - on (default) ,0 - off)
- ds_screens "0" // Make screenshoots of scoreboard and status.
- ds_autodelete "1" // Delete demo files without bookmarks and killstreaks.
- bind "b" "prec_mark; ds_mark"
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Backpack:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Inventory, economy and backpack.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- tf_time_loading_item_panels 0.0001 // Decrease time spent per frame loading item panels.
- cl_spec_carrieditems 0 // Do not show spectated player items.
- tf_backpack_page_button_delay 0.15 // Decrease button delay for moving items.
- cl_showbackpackrarities 0 // Show item rarity color borders in backpack.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Misc.
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- cl_cloud_settings 0 // I believe this disables cloud syncing of CFGs but not 100% sure.
- sys_minidumpspewlines 0 // Basically the number of lines saved to a log file from console.
- // No FPS boost but 15% lower FPS variance.
- cl_software_cursor 0 // Cursor in-game rather than the windows default.
- cl_first_person_uses_world_model 0 // VR Mode.
- cl_ask_blacklist_opt_out 1
- zoom_sensitivity_ratio 0.818933027098955175
- cl_ask_favorite_opt_out 1
- cl_mvm_wave_status_visible_during_wave 1 // Show MvM status.
- sb_dontshow_maxplayer_warning 1
- tf_explanations_backpackpanel 1
- tf_explanations_charinfo_armory_panel 1
- tf_explanations_charinfopanel 1
- tf_explanations_craftingpanel 1
- tf_explanations_discardpanel 1
- tf_explanations_store 1
- tf_training_has_prompted_for_forums 1
- tf_training_has_prompted_for_loadout 1
- tf_training_has_prompted_for_offline_practice 1
- tf_training_has_prompted_for_options 1
- tf_training_has_prompted_for_training 1
- sv_forcepreload 1
- developer 0
- cl_allowdownload 0
- cl_downloadfilter mapsonly
- sv_allow_point_servercommand always // Makes tr_walkway work since the update which broke it.
- sv_cheats 1
- sv_pure 0
- cl_autoreload 1 // Faster reload time with "+reload" in class configs.
- cl_showerror 0
- cl_use_tournament_specgui 1
- cl_autorezoom 1 // Sniper Rifle will re-zoom after firing a zoomed shot.
- cl_show_market_data_on_items 1 // Show Community Market info.
- replay_screenshotresolution 1 // Take high-resolution replay screenshots.
- tf_romevision_opt_in 0 // Enable Romevision for MvM.
- tf_sniper_fullcharge_bell 1 // Play a sound when the Sniper Rifle is fully charged.
- tf_remember_lastswitched 1 // Remember the 'previous weapon' between lives.
- tf_remember_activeweapon 1 // Remember the 'active weapon' between lives.
- in_usekeyboardsampletime 0
- mat_clipz 1 // Clips what is drawn for a performance improvement.
- r_entityclips 0 // Skip clipping entities, saves CPU time.
- disp_dynamic 0 // Do not use dynamic meshses for world geometry. (displacements)
- r_frustumcullworld 1 // Cull on world draw.
- r_norefresh 1 // Do not store a useless and unused frame time variable.
- mat_forcehardwaresync 0
- mat_levelflush 1
- mat_vsync 0 // Turn off vsync to avoid nasty I/O latency.
- r_fastzreject 0 // Values >1 enable a fast Z rejection algorithm, to be
- // performed on the GPU (as opposed to on the CPU). The
- // value "-1" autodetects hardware support for this
- // feature, which is safer than forcing it.
- fast_fogvolume 1
- mod_load_anims_async 1 // Default "0"
- mod_load_mesh_async 1 // Default "0"
- mod_load_vcollide_async 1 // Default "0"
- cpu_frequency_monitoring 0
- datacachesize 512 // "256" Size in MB.
- pyro_dof 0 // Skip a SSAO depth pass for pyrovision.
- pyro_vignette 0 // Disable vignette for pyrovision.
- pyro_vignette_distortion 0 // Disable vignette distortion for pyrovision.
- pyro_max_intensity 0 // Disable more pyrovision visual effects.
- pyro_max_rate 0
- pyro_max_side_length 0
- pyro_max_side_width 0
- pyro_min_intensity 0
- pyro_min_rate 0
- pyro_min_side_length 0
- pyro_min_side_width 0
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Misc. Binds:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- bind "p" "snd_restart; hud_reloadscheme"
- bind "r" "toggle vgui_drawtree"
- bind "[" "load_itempreset 0"
- bind "i" "showmapinfo"
- bind "SEMICOLON" "show_quest_log"
- bind "KP_MINUS" "incrementvar tf_hud_target_id_disable_floating_health 0 1 1"
- bind "UPARROW" "say add me if you guys want to be friends <3"
- bind "RIGHTARROW" "say With the balance of the universe at stake, The Battle of the Buttons rages on..."
- bind "LEFTARROW" "say Everyone should try to get their ideas out there and get some healthy discussions going, that's what Valve is counting on."
- bind "DOWNARROW" "say I just allowed them to put tomato on my sandwich. I'm changing."
- bind "]" "say I think my mom would be proud of how tan I'm getting."
- bind "o" "say Every growing child needs a strong fragger figure in their lives."
- bind "'" "say Made some chicken-cheddar, another of my specialties."
- bind "/" "say I need a guy who can frag. (I'm gonna be alone forever)."
- bind "KP_END" "join_class scout"
- bind "KP_DOWNARROW" "join_class spy"
- bind "KP_PGDN" "join_class pyro"
- bind "KP_LEFTARROW" "join_class demoman"
- bind "KP_5" ""
- bind "KP_RIGHTARROW" "join_class engineer"
- bind "KP_HOME" "join_class medic"
- bind "KP_UPARROW" "join_class sniper"
- bind "KP_PGUP" "join_class soldier"
- alias "badlands" "rcon changelevel cp_badlands"
- alias "process" "rcon changelevel cp_process_final"
- alias "snakewater" "rcon changelevel cp_snakewater_final1"
- alias "gullywash" "rcon changelevel cp_gullywash_final1"
- alias "granary" "rcon changelevel cp_granary_pro_rc8"
- alias "viaduct" "rcon changelevel koth_product_rc8"
- alias "metalworks" "rcon changelevel cp_metalworks"
- alias "sunshine" "rcon changelevel cp_sunshine"
- alias "mge" "rcon changelevel mge_training_v8_beta4b"
- alias remove_scope "sv_cheats 1; testhudanim scoperemoval"
- remove_scope
- map_background preload_room; wait 10; disconnect
- snd_restart
- mem_compact
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Print to Console:
- // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- echo ""
- echo "-------------------------------------------------------------------"
- echo " dr0wn's Performance Config Loaded. "
- echo " Credit to Comanglia & Chris for the original configs. "
- echo "-------------------------------------------------------------------"
- echo ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement