// DOTA autoexec.cfg REFERENCE preset - get latest from https://dev.dota2.com/showthread.php?t=194985
// Save as: Steam\steamapps\common\dota 2 beta\game\dota\cfg\autoexec.cfg (make sure extension is .cfg not .cfg.txt)
//
// To optimally read/edit this cfg, use a text processor featuring 132 chars per line and syntax highlighting to C++
// Disable options/binds/commands you do not want forced by this cfg by starting lines with // C++ style line comment
// Most reference hotkeys and options use default values. Will override user settings if enabled (un-commented).
//
// What's new [2019-05-19]
// Disabled clear console, forced console bind and fps_max; set engine_no_focus_sleep to 0; workaround for sys_info filters spew
// Fix Rubick Arcana introduction scene; adjusted network settings; revised launch options; better Steam parameters suggestion
// Innovative Camera Controls final concept, more in-game toggles, console spew filter, print behavior, sys_info, revised cfg layout
//
//----------------------------------------------------------------------------------------------------------------------------------
// Dota 2 cfg tweaking is very limited ever since Reborn, so also use tweaked launch options:
// 1. Add Dota 2 launch options: -autoconfig_level 0 -benchframes 1 -bench +reset_gameconvars
// Run the game once - it will close itself shortly
// 2. Remove above options, and add:
// for POTATO-GRADE/ONBOARD HW -dx9 -nod3d9ex [only in Borderless Window!]
// for LOW-GRADE HW -dx9 [or] -dx11 -maxdxlevel 101
// for MID-GRADE HW -dx11
// for HIGH-GRADE HW -dx11 [or] -vulkan
// for OTHER OS -gl
// -nod3d9ex is incompatible with Fullscreen mode (alt-tab issues) so switch to Borderless Window if used (with -dx9 or -dx11)
// 3. Enable "Use advanced settings" under Settings - Video and restart the game.
// 4. Optional potato(ish) options:
// -forcepow2dxt -maxtextureres 256 -oldtexturestreaming
// 5. Optional performance launch options that you can try case by case if your hardware is stable:
// -high -mainthreadpriority 1
// 6. Optional to facilitate reporting issues, add launch options: -consolelog -conclearlog -con_timestamp +sys_info
// and then share the file: Steam\steamapps\common\dota 2 beta\game\dota\console.log
// 7. Optional troubleshooting launch options that you can try case by case:
// -nogammaramp -novr -nojoy -noime -nobreakpad -nogamestats -nomultigpu -noloaderlockprobe -disablehangwatchdog
// -threads 2 -onethreadpool -dx9renderthreadstack -dx11renderthreadstack -disallowhwmorph -swap_chain_as_is -deferTextureLoads
// 8. Optional launch parameters for the Steam executable (adjust to your path) Right-click Desktop - New - Shortcut:
// "C:\Program Files (x86)\Steam\Steam.exe" -silent -forceservice -single_core -windowed -manuallyclearframes 0 -nodircheck -norepairfiles -noverifyfiles -nocrashmonitor -nocrashdialog -vrdisable -nofriendsui -skipstreamingdrivers +"@AllowSkipGameUpdate 1 -
// Bonus, the definitive steamwebhelper_killer! Completely remove Steam browser with: -no-browser
// Might want to use the Toggle UI Animations off after matches at https://github.com/AveYo/D-OPTIMIZER/releases/tag/4.2
// For significant fps gain (and glancevalue) try the No-Bling mod at https://github.com/No-Bling/DOTA
//----------------------------------------------------------------------------------------------------------------------------------
//
echoln
log_color General 00FFFFFF | grep %; // set cyan color
echoln " _______ ______ ______ ________ __ ___ ___ __ ________ _______ ______ "
echoln " | __ \ / \ | _ \ | | | | | \/ | | | | / | ____| | _ \ "
echoln " | | | | | ,~~, | | |_) | `~~| |~~` | | | \ / | | | `~~~/ / | |__ | |_) |"
echoln " | | | | AVEYO`S | | | | | ___/ | | | | | |\/| | | | / / | __| | / "
echoln " | `~~` | | `~~` | | | | | | | | | | | | | / /~~~, | |____ | |\ \ "
echoln " |_______/ \______/ |__| |__| |__| |__| |__| |__| /_______| |_______| |__| \__\"
echoln; echoln " SHORT COMMANDS (LOCAL ONLY): "
echoln " ---------------------------------------------------------------------------------------------------- "
echoln " | RR Reload .cfg from disk | FF Disconnect / reset menu | QQ Quit game fast |"
echoln " | GG Start empty test game | BB/HH Spawn creeps / neutrals | VT Video Tweaks |"
echoln " ---------------------------------------------------------------------------------------------------- "
echoln; echoln " HOTKEY TOGGLES IN-GAME (MUST FIRST FREE THEM IN GUI TO USE):"
echoln " ---------------------------------------------------------------------------------------------------- "
echoln " | SPACE Hold Follow Any | MWHEELUP Free, Select Hero | MWHEELDOWN Select All Others |"
echoln " | INS,CAPS UnBound Follow Any | HOME,MOUSE5 Bound Follow Hero | PGUP Large Follow Edge Bounds |"
echoln " | DEL,CTRL Stop Follow Any | END,MOUSE4 Offset Follow Undo | PGDN Reset Follow Edge Bounds |"
echoln " | SCROLLLOCK Window + EdgePan | KP/,KP+,KP- Shadows, Vol, Music | G,U Voice OpenMic Team,Party |"
echoln " ---------------------------------------------------------------------------------------------------- "
log_color General 00000000 | grep %; // set default color
// Behaviour score printing:
log_color General FF00FFFF | grep %; // set pink color
developer 1; dota_game_account_client_debug | alias; developer 0; echoln; alias | grep behavior_score; echoln
log_color General 00000000 | grep %; // set default color
// System info printing:
sys_info | grep Line|Build|OS|Game|UI|Misc|Time|-bit|s[\s]priority|CPUs|brand|Render[\s]s|Driver|Vid|memusage|totalPhys
echoln
//----------------------------------------------------------------------------------------------------------------------------------
log_verbosity Console InputService off | grep %; // Stop console spew ( resumed at the end of the script )
//----------------------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------------------
alias ' AVEYO`S D-OPTIMIZER (cc) DOTA 2 REFERENCE CFG HOTKEYS tweaked: //? default: [] '
//----------------------------------------------------------------------------------------------------------------------------------
// Console hotkeys are worth using even if ALT modifiers can't be set and no quickast onkeyup. Matching GUI hotkeys take precedence
alias ' ABILITIES GUI Suggestion: '
//bind "Q" dota_ability_execute 0; // Ability 1 Q [Q]
//bind "W" dota_ability_execute 1; // Ability 2 W [W]
//bind "E" dota_ability_execute 2; // Ability 3 E [E]
//bind "D" dota_ability_execute 3; // Ability 4 D [D]
//bind "F" dota_ability_execute 4; // Ability 5 F [F]
//bind "R" dota_ability_execute 5; // Ability Ultimate R [R]
alias ' CONTROL GROUPS GUI Suggestion: '
//bind "Z" +dota_control_group 1; //? Group 1 Z [1]
//bind "X" +dota_control_group 2; //? Group 2 X [2]
//bind "C" +dota_control_group 3; //? Group 3 C [3]
//bind "V" +dota_control_group 4; //? Group 4 V [4]
//bind "B" +dota_control_group 5; //? Group 5 B [5]
//bind "N" +dota_control_group 6; //? Group 6 N [6]
//bind "7" +dota_control_group 7; // Group 7 [7]
//bind "8" +dota_control_group 8; // Group 8 [8]
//bind "9" +dota_control_group 9; // Group 9 [9]
//bind "0" +dota_control_group 10; // Group 10 0 [0]
alias ' UNIT ACTIONS - SELECTION GUI Suggestion: '
//bind "F1" +dota_camera_follow; // Select Hero [F1]
//bind \ dota_select_all; //? Select All Units ALT+F1
//bind \ dota_select_all_others; //? Select All Other Units ALT+F2
//bind "TAB" dota_cycle_selected; // Next Unit [TAB]
//----------------------------------------------------------------------------------------------------------------------------------
alias ' AVEYO`S D-OPTIMIZER (cc) DOTA 2 REFERENCE CFG OPTIONS tweaked: //? default: [] '
//----------------------------------------------------------------------------------------------------------------------------------
alias ' GAME OPTIONS '
//dota_player_units_auto_attack_mode 1; // Auto Attack 0:Never, 1:Standard, 2:Always [1]
//dota_player_add_summoned_to_selection 1; //? Auto Select Summoned Units [0]
//dota_ability_quick_cast 1; // Double Tap Ability to Self Cast [1]
//dota_smart_doubletap 1; // Smart Double Tap 1:Alt+Key does Self Cast [1]
//dota_player_multipler_orders 1; //? Unified Orders with CTRL [0]
//dota_player_teleport_requires_halt 1; // Teleport Requires Hold/Stop [1]
//dota_player_channels_require_stop 1; // Channeled Abilities Require Hold/Stop [0]
//dota_force_right_click_attack 1; //? Right-Click to Force Attack [0]
//dota_settings_quick_target_attack 1; //? Quick Attack [0]
//dota_settings_quick_move 1; //? Quick Move [0]
alias ' GAME - ADVANCED OPTIONS '
//dota_summoned_units_auto_attack_mode_2 -1; // Summoned Unit Auto Attack -1:AsHero, 0:Never, 1:Standard, 2:Always [-1]
//dota_disable_autoattack_during_stop 1; // Disable Autoattack When Stop is Held [1]
//dota_toggle_autoattack_automatically_during_orders 1; //? Toggle Autoattack Automatically: Hold(S)=AA-Off, Stop(Alt+S)=AA-On [0]
//dota_quickcast_onkeydown 1; // Quickcast On Key Down [1]
//dota_shop_force_hotkeys 0; // Shop Always Uses Hotkeys [0]
//dota_shop_search_autofocus 1; //? Shop Search Gets Focus On Open [0]
//dota_settings_targeted_attack_move 1; //? Smart Attack Move [1]
//dota_player_auto_repeat_right_mouse 0; // Auto-repeat Right Mouse [0]
//dota_spectator_use_broadcaster_stats_panel 1; // Use Broadcaster Stats [1]
//dota_activate_window_on_match_found 1; //? Bring Dota2 to front when match found [0]
//dota_activate_window_on_hero_picking_start 1; //? Bring Dota2 to front for pick phase and game start [0]
//dota_activate_window_on_unpause 1; //? Bring Dota2 to front when unpaused [0]
//con_enable 1; //? Enable console [1]
alias ' CAMERA OPTIONS '
//dota_camera_edgemove 1; // Edge Pan [1]
//dota_camera_reverse 0; // Reverse Camera Grip [0]
//dota_reset_camera_on_spawn 0; //? Center Camera on Hero on Respawn [1]
//dota_camera_disable_zoom 0; // Disable Camera Zoom [0]
//dota_camera_hold_select_to_follow 1; //? Hold Select Hero to Follow [0]
//dota_camera_speed 5000; //? Camera Speed 5000:DotA-like [3000]
alias ' CAMERA - ADVANCED OPTIONS '
//dota_leftclick_cameragrip_new 0; // Left-Click Activates Camera Grip 0:Directly [0]
//dota_screen_shake 1; // Enable Screen Shake [1]
//dota_camera_accelerate 50; //? Camera Deceleration [49]
//dota_camera_dotatv_smooth_drag 1; //? Smoothdrag Camera when Spectating [0]
alias ' CAMERA - SAVED POSITIONS - OPTIONAL '
//dota_saved_camera_pos_1 [-7232 -6921 642.908447] //? Radiant Fountain
//dota_saved_camera_pos_2 [1317.40625 -4163.625 378.9055]//? Radiant Bot Shrine
//dota_saved_camera_pos_3 [2250.5625 -1857.8437 213.8285]//? Bot Rune
//dota_saved_camera_pos_4 [-4348.0937 198.21875 297.6516]//? Radiant Top Shrine [kp_7]toprune [kp_8]shrine [kp_9]ancient
//dota_saved_camera_pos_5 [-530 -400 0] //? Mid River [kp_4]shrine [kp_5]river [kp_6]shrine
//dota_saved_camera_pos_6 [3446.21875 330.15625 336.9679]//? Dire Bot Shrine [kp_1]ancient [kp_2]shrine [kp_3]botrune
//dota_saved_camera_pos_7 [-1760 1216 192.525253] //? Top Rune + Roshpit
//dota_saved_camera_pos_8 [-1201.7812 3914.1562 291.1723]//? Dire Top Shrine
//dota_saved_camera_pos_9 [7168 6912 581.601013] //? Dire Fountain
//dota_saved_camera_pos_10; // User defined, not overwritten by cfg
alias ' MINIMAP OPTIONS '
//dota_minimap_simple_colors 1; //? Use Simple Colors in Minimap [0]
//dota_minimap_hide_background 0; // Hide Minimap Background [0]
//dota_hud_extra_large_minimap 0; // Use Extra Large Minimap [0]
//dota_minimap_show_hero_icon 1; // Use Alt to show Hero icons [1]
//dota_minimap_always_draw_hero_icons 1; //? Invert Alt Toggle [0]
//dota_hud_flip 0; // Show Minimap on the Right [0]
//dota_minimap_hero_size 600; // Minimap Hero Size 800:133% [600]
alias ' INTERFACE OPTIONS '
//dota_show_hero_finder 0; //? Holding ALT Highlights Hero [1]
//dota_alt_shows_neutral_spawn_boxes 1; //? Holding ALT Shows Neutral Spawnboxes [0]
//dota_alt_shows_tower_attack_range 1; //? Holding ALT Shows Tower Attack Range [0]
//dota_enable_range_finder 1; //? Show Ability Rangefinder While Casting [0]
//dota_hero_overhead_names 0; // Display Names over Healthbar 0:Heroes 1:Players 2:Nothing [0]
//dota_hud_healthbar_disable_status_display 0; // Disable Status Text i.e. "Stun bars" [0]
//dota_hud_disable_damage_numbers 1; //? Hide Damage Numbers [0]
//dota_hud_new_query_panel 0; //? Unit query overrides hero control console [1]
//dota_hud_colorblind 0; // Colorblind Mode 0:None 1:Enabled 2:Differentiate Ally [0]
//cl_auto_cursor_scale 1; // Automatically choose cursor size [1]
//cl_cursor_scale 1; // Cursor size 0.3 - 3.0 [1]
alias ' MISCELLANEOUS OPTIONS '
//dota_minimap_misclick_time 0.15; //? Minimap Misclick Protection Time 0:every click counts [0.2]
//dota_ability_self_cast_timeout 0.5; //? Double-Tap Self Cast Timeout [0.6]
//dota_minimap_hero_scalar 1; //? Dynamically Scale Hero Icons in Minimap [0]
//dota_continue_click_movement_after_cast_cancel 0; //? Move after Ability Target Cancelled Cvar longer than description [1]
//dota_camera_deatheffect 0; //? Camera Color-shift when Dead (forced always on if shaders enables) [1]
//dota_hud_netgraph 1; //? Display Network Information [0]
//dota_hide_tips_on_loading_screens 0; // Hide Tips on Loading Screens [0]
//dota_default_spoilers_blocked 0; // Default Tournament Spoiler Block to On [0]
//dota_armory_automatically_add_new_item_to_collection 0;// Automatically Add New Items to Collection Cvar longer than descr [0]
//dota_join_regional_chat_channel 0; //? Join regional chat channel on startup PRIVACY ISSUE! [1]
alias ' SOCIAL OPTIONS '
//dota_chat_enable_whispers 1; // Display Steam messages as whispers [1]
//dota_chat_allow_global 0; // Channel messages appear in other channel tabs [1]
//dota_chat_mute_everyone 0; // Mute all incoming chat [0]
//dota_chat_mute_enemies 0; // Mute chat from enemies [0]
//dota_ignore_nonfriend_invites 0; // Block party invites from non-friends [0]
//dota_rp_hide_party_unless_open 1; //? Hide party status when not in an Open Party [0]
//dota_open_party_manual_accept_invites 1; //? Do not auto-accept invites when in Open Party [0]
//dota_trading_show_requests_from 1; // Trade invites from 1:Guildmates and Friends, 0:Friends, 2:Anyone [1]
alias ' HOTKEYS OPTIONS '
//input_button_code_is_scan_code 1; //? Bind keys based on keyboard position Hit and miss, set it in GUI [0]
//dota_enable_direct_quickcast_bindings 1; //? Enable Advanced Quickcast/Autocast Hotkeys [0]
alias ' AUDIO VOLUME '
//volume 0.5; //? Master Volume [1]
//snd_gamevolume 0.4; //? Game Sounds [1]
//snd_musicvolume 0.3; //? Music [1]
//snd_voipvolume 1.0; //? Voice [1]
//snd_gamevoicevolume 0.5; //? Unit Speech [1]
//dota_speech_level 1; //? Unit Speech Level: 0:Off 1:Events 2:All [2]
alias ' AUDIO - ADVANCED '
//sound_device_override 0; // Sound Device Better set the default in OS settings [0]
//speaker_config -1; // Speakers config 7:7.1, 5:5.1, 4:4.0, 2:stereo, 1:hphones, -1:def [-1]
//snd_mute_losefocus 1; // !Play Sound in Desktop Really dislike these inversed gui-cvars [1]
//chat_sound 0; // Chat Message Sound [0]
//dota_mute_cobroadcasters 0; // Mute Co-Broadcasters [0]
//closecaption 0; // Use Captions [0]
//dota_force_default_respawn_stinger 1; //? Always use default respawn music [0]
//dota_force_default_death_stinger 1; //? Always play default death music [0]
//snd_autodetect_latency 0; //? Autodetect Audio Latency [1]
alias ' AUDIO - VOICE '
//voice_vox 0; // Enable Open Mic 0:None, 1:Party, 2:Team [0]
//voice_threshold 6500; //? Open Mic Threshold ~10% 0:0%, 65535:100% i.e. disabled [4000]
//voice_always_sample_mic 0; // Streamlined Push To Talk Enable if voice hotkey gives fps loss [0]
//----------------------------------------------------------------------------------------------------------------------------------
alias ' AVEYO`S D-OPTIMIZER (cc) DOTA 2 EXTRA OPTIONS (NOT IN GUI) tweaked: //? default: [] '
//----------------------------------------------------------------------------------------------------------------------------------
alias ' MISC '
dota_hero_auto_graball 0; // 1:Automatically grab items from stash when hero return to fountain [0]
dota_minimap_disable_rightclick 0; // 1:Disable right-click over minimap - can be annoying at first [0]
dota_player_simplified_controls 0; // 1:R-click move, L-click attack, L-click drag to select, etc. [0]
dota_player_smart_multiunit_cast 1; //? 1:Trigger ability for the next same unit in selection without Tab [0]
dota_swap_mouse_spellcast 0; // 1:Trigger ability on left click instead, breaks quickcast! [0]
dota_minimap_creep_scale 1.5; //? 1:Minimap creep scale [1]
voice_chat_bubble_show_volume 1; // 1:Show voice volume on chat bubles, 0 breaks the bubles! [1]
voice_local_icon 0; // 1:Show icon while you speak in local bot match [0]
cl_voice_transmit_lobby 0; // 1:Transmit voice while in lobby? [0]
dota_speech_emotes 0; //? 1:Enable speech emotes [1]
hud_fastswitch 1; //? 1:Nothing atm (still) [0]
r_dota_disable_portrait_world_renderer 1; //? 1:Disable 3d models+particles in menu - RIP because greedy golem [0]
engine_experimental_drop_frame_ticks 1; //? 1:Skip frame ticks when the client is catching up in low fps - NEW! [1]
dota_experimental_stats_interval 120; //? Seconds between each experimental stat update. [60]
cl_playerspraydisable 1; //? 1:Disable player sprays [0]
ai_expression_optimization 1; //? 1:Disable npc background expressions when you can't see them. [0]
alias ' MAIN NETWORK SETUP '
cl_updaterate 30; //? low:15, high:30, max=sv_maxupdaterate=60, min=sv_minupdaterate=10 [20]
cl_cmdrate 30; //? low:15, high:30, max=sv_maxcmdrate=40, min=10 [30]
cl_spectator_cmdrate_factor 0.25; //? Rate multiplier when connected via hltv reduced for high rates [0.5]
cl_interp_ratio 1; //? min=sv_client_min_interp_ratio=1, max=sv_client_max_interp_ratio=5 [2]
cl_spectator_interp_ratio 4; //? When connected to hltv or playing a demo, adjust interp time by [2]
cl_interp 0; //? cl_interp_ratio/cl_updaterate; for 60 upd is 0.016667; 0=auto [0.05]
alias ' ADVANCED NETWORK OPTIONS '
rate 160000; // min=sv_minrate=5000 won't actually consume that much [80000]
net_maxcleartime 1.0; //? chocke fix: 0.01 [4.0]
//net_splitrate 1; // chocke fix: 2 - removed from engine atm [1]
net_maxroutable 1200; // max=sv_maxroutable max packet size before splitting [1200]
net_usesocketsforloopback 0; //? Use network sockets layer even for listen server local player [0]
host_limitlocal 1; //? Apply cl_cmdrate and cl_updaterate to loopback connection [0]
cl_downloadfilter none; //? does nothing? [all]
cl_pred_optimize 2; // if didn't receive a network update(1), also for not repredicting(2) [2]
cl_lagcompensation 1; // Perform server side lag compensation of weapon firing events. [1]
cl_lagcomp_errorcheck 0; //? Player index of other player to check for position errors. [0]
cl_smooth 0; //? Smooth view/eye origin after prediction errors [0]
cl_smoothtime 0.1; // Smooth client's view after prediction error over this many secs [0.1]
cl_interp_threadmodeticks 0; // Additional interpolation ticks to use with threaded engine mode set [0]
net_p2p_listen_dedicated 0; //? Should dedicated server listen for new-style P2P? [0]
alias ' OTHER PERFORMANCE / DEBUG TWEAKS '
snd_mixahead 0.05; //? Sound engine buffer - fix crackling: 0.2 / 0.1 (slight delay) [0.001]
m_rawinput 0; // Use Raw Input for mouse - better in high pooling rate (500Hz+) [0]
m_mousespeed 0; //? Windows mouse speed acceleration 0=disable 1=enable [1]
engine_no_focus_sleep 0; //? Power savings while alt-tab 50=more, 0=none (for streaming) [20]
r_experimental_lag_limiter 0; // 1:VSync w less inputlag if can maintain fps (dev.dota2 t=184108) [0]
r_frame_sync_enable 0; //? 0:Disable frame sync for broken/potato systems (dev.dota2 t=174732) [1]
voice_chat_bubbles 1; // Show voice bubbles - Random polygon lines when voice (fixed in 7.0) [1]
dota_show_itempickups 0; // Show Item pickups - If multiple instances lowers fps, set to 0 [1]
@panorama_show_fps 0; // Show FPS in main menu, too - or use cl_showfps 4 instead [0]
dota_chat_disable_refresh_user_list 1; //? Who cares about spam bots in dota channels.. [0]
dota_endgame_cinematic_disable 1; //? Would have been good if it still worked [0]
dota_local_event_enable 1; //? Debug [0]
//----------------------------------------------------------------------------------------------------------------------------------
alias ' AVEYO`S D-OPTIMIZER (cc) DOTA 2 VIDEO TWEAKS Can be toggled with the short console command: VT '
//----------------------------------------------------------------------------------------------------------------------------------
alias VT "VT2";alias is0 "log_flags InputService +DoNotEcho | grep %";alias is1 "log_flags InputService +DoNotEcho | grep %"//spew
alias v0a "allow_clientside_entities 1;dota_allow_clientside_entities 1;dota_allow_clientside_particles 1";
alias v1a "allow_clientside_entities 1;dota_allow_clientside_entities 1;dota_allow_clientside_particles 1"; // world fires
alias v0b "cl_particle_fallback_base 0;cl_particle_fallback_multiplier 0;cl_particle_sim_fallback_threshold_ms 6";
alias v1b "cl_particle_fallback_base 4;cl_particle_fallback_multiplier 1;cl_particle_sim_fallback_threshold_ms 1"; // effects
alias v0c "cl_particle_sim_fallback_base_multiplier 5;cl_retire_low_priority_lights 0;r_PhysPropStaticLighting 0;";
alias v1c "cl_particle_sim_fallback_base_multiplier 50;cl_retire_low_priority_lights 1;r_PhysPropStaticLighting 1"; // lights
alias v0d "@panorama_experimental_fast_box_shadow 1;cl_show_splashes 1;dota_screen_shake 1;dota_hud_reduced_flash 0"; // flash
alias v1d "@panorama_experimental_fast_box_shadow 0;cl_show_splashes 0;dota_screen_shake 0;dota_hud_reduced_flash 0";//1=razor bug
alias v0e "mat_colcorrection_disableentities 0;cl_ragdoll_limit 20;enable_boneflex 1;flex_smooth 1";
alias v1e "mat_colcorrection_disableentities 0;cl_ragdoll_limit 10;enable_boneflex 0;flex_smooth 0"; // ragdoll
alias v0f "rope_collide 1;rope_subdiv 2;rope_smooth 1;rope_averagelight 1;rope_rendersolid 1;r_ropetranslucent 1";
alias v1f "rope_collide 0;rope_subdiv 1;rope_smooth 0;rope_averagelight 0;rope_rendersolid 0;r_ropetranslucent 0"; // ropes
alias v0g "dota_hud_disable_damage_numbers 0;dota_hud_healthbar_disable_status_display 0";// stunbars forced enabled atm
alias v1g "dota_hud_disable_damage_numbers 1;dota_hud_healthbar_disable_status_display 0";// dota_use_animated_inventory_icons=rip
alias v0h "r_dota_enabled_3d_skybox_postprocess 1;r_dota_render_2d_skybox 1;r_dota_render_3d_skybox 1;r_draw3dskybox 1"; // VT2
alias v1h "r_dota_enabled_3d_skybox_postprocess 0;r_dota_render_2d_skybox 0;r_dota_render_3d_skybox 0;r_draw3dskybox 0"; // 3d sky
alias v0i "cloth_update 1;cloth_step 1;cloth_simulate 1;r_draw_selected_ring 1;dota_disable_unit_ring 0"; // VT2
alias v1i "cloth_update 0;cloth_step 0;cloth_simulate 0;r_draw_selected_ring 1;dota_disable_unit_ring 1"; // physics: Blood Chaser
//alias - 7.07 status resistance messing with disable durations makes stun bars way too necessary so presets no longer disables them
//alias - 7.07 also broke Razor whip particles under reduced flash mode, so presets no longer enables the mode (fixed in No-Bling)
//alias - 7.20 allow clientside entities needed to show Rubick Arcana and other introduction scenes
alias VT0 "is0;v0a;v0b;v0c;v0d;v0e;v0f;v0g;v0h;v0i;r_textures_evict_all;is1;alias VT VT1;echoln [VTweaks]=0 Enter VT to switch.."
alias VT1 "is0;v1a;v1b;v1c;v1d;v1e;v1f;v1g;v0h;v0i;r_textures_evict_all;is1;alias VT VT2;echoln [VTweaks]=1 Enter VT to switch.."
alias VT2 "is0;v1a;v1b;v1c;v1d;v1e;v1f;v1g;v1h;v1i;r_textures_evict_all;is1;alias VT VT0;echoln [VTweaks]=2 Enter VT to switch.."
VT2;// replace with VT0 to use defaults; VT1 to keep sky, cloth physics, select circle; remove or //comment to not apply at start
//----------------------------------------------------------------------------------------------------------------------------------
alias ' AVEYO`S D-OPTIMIZER (cc) SHORT COMMANDS (LOCAL ONLY) These do not work in a matchmaking game '
//----------------------------------------------------------------------------------------------------------------------------------
alias RR "echoln [RR: RELOAD CFG FROM DISK] ;exec autoexec"
alias QQ "echoln [QQ: QUIT] ;quit"; // Whoever thaught that q-Tab = +query is a good idea...
alias VT "VT1"; // initiate VIDEO TWEAKS toggle alias
alias gg1 "echoln [GG: START EMPTY TEST GAME];sv_cheats 1;sv_lan 0;sv_alternateticks 1;sv_stats 0;tv_enable 0;host_limitlocal 1"
alias GG "gg1; dota_creeps_no_spawning 1;dota_bot_practice_start 0;dota_easybuy 1;hideconsole;map dota;sv_cheats 1"
alias ff1 "echoln [FF: DISCONNECT/STOP] ;#stop;stopdemos;dota_bot_practice_start 0;dota_easybuy 0;sv_alternateticks 0;sv_cheats 1"
alias FF "ff1; sv_cheats 0;cl_showfps 0;hideconsole;disconnect"
alias BB "echoln [BB: SPAWN CREEPS TOGGLE]; incrementvar dota_creeps_no_spawning 0 1 1"
alias HH "echoln [HH: HERO AND SPAWNS REFRESH] ;dota_dev hero_refresh;dota_spawn_neutrals;hideconsole"
alias UU "echoln [UU: LEVELUP X5] ;dota_dev hero_level 5;dota_bot_give_level 5;hideconsole"
alias ZZ "echoln [ZZ: ADD FRIENDLY AXE];dota_create_unit npc_dota_hero_axe;hideconsole"
alias XX "echoln [XX: ADD ENEMY AXE];dota_create_unit npc_dota_hero_axe enemy;hideconsole"
//----------------------------------------------------------------------------------------------------------------------------------
alias ' AVEYO`S D-OPTIMIZER (cc) SPECIAL HOTKEYS Free existing GUI hotkeys manually to enable '
//----------------------------------------------------------------------------------------------------------------------------------
// [SCROLLLOCK] Window Lock + Edge Pan toggle with Useful for borderless window / multi-monitor setup
bind SCROLLLOCK "echoln dota_mouse_window_lock dota_camera_edgemove | toggle"
// [KP_DIVIDE] Video Shadow I always camera follow roam, with shadows on :D
bind KP_DIVIDE "incrementvar cl_globallight_shadow_mode 0 2 2 | grep ."// Shadow Quality: high - off
// [KP_MULTIPLY] Dump active particles list Dota console grep with regex!
bind KP_MULTIPLY "dumpparticlelist | grep [^0\s][\d]*,[\s]flags;echoln To export, enter: condump;showconsole"
// [G] / [U] Open Mic Voice Chat TEAM / PARTY toggle - was broken in 7.17 for a couple weeks
bind G "incrementvar voice_vox 0 2 2 | grep %" // Team
bind U "incrementvar voice_vox 0 1 1 | grep %" // Party
// [G] / [U] Hands-Free Voice Chat TEAM / PARTY toggle - Yet another ingenious alternative brought to you by AveYo
//bind G "toggle cl_voiceenabled | +voicerecord" // Team
//bind U "echoln cl_voiceenabled voice_vox | toggle" // Party
// Camera Zoom with [-] and [+] instead of default MWHEELUP / MWHEELDOWN since those are re-assigned for better tasks by this cfg
//bind = "camerazoomin"// Or set to [ALT]+[MWHEELUP] in GUI
//bind - "camerazoomout"// Or set to [ALT]+[MWHEELDOWN] in GUI
//----------------------------------------------------------------------------------------------------------------------------------
// INNOVATIVE CAMERA CONTROLS BY AVEYO - FINAL CONCEPT in spite of lame one cmd per key rule..
//----------------------------------------------------------------------------------------------------------------------------------
// [SPACE] : HOLD TO FOLLOW ANY single-click also stops UnBound Follow Any
bind SPACE "+dota_control_group 1337"// double-click also stops Bound Follow Hero
// [INS] or [CAPSLOCK] : UNBOUND FOLLOW ANY remains active on key release as if double-clicking portrait
bind INS "toggle dota_camera_center | +dota_control_group 1337"// gets interrupted by edge panning!
bind CAPSLOCK "toggle dota_camera_center | +dota_control_group 1337"// can be offset by camera gripping
// [DEL] or [CTRL] : STOP UNBOUND FOLLOW ANY
bind CTRL "-dota_control_group 1337"//
bind RCTRL "-dota_control_group 1337"//
bind DEL "-dota_control_group 1337"
// [HOME] or [MOUSE5] : BOUND FOLLOW HERO ONLY remains active on key release as if holding Select Hero key
bind MOUSE5 "toggle | +dota_camera_follow"// does not get interrupted by edge panning!
bind HOME "toggle | +dota_camera_follow"// can be offset by camera gripping
// [END] or [MOUSE4] : OFFSET FOLLOW UNDO (IF CAMERA GRIP CHANGED IT) applies instantly, even if not currently following
bind MOUSE4 "toggle | +cameragrip +dota_camera_center_on_hero"//
bind END "toggle | +cameragrip +dota_camera_center_on_hero"//
// [PGUP] : LARGE BOUND FOLLOW RANGE - INCREMENTAL edge pan further away while bound following hero
bind PGUP "incrementvar dota_camera_smart_follow_edge_distance 1500 4500 1000 | grep ."// adjusted range written to console
// [PGDN] : RESET BOUND FOLLOW RANGE edge pan closer (def) while bound following hero
bind PGDN "dota_camera_smart_follow_edge_distance 500 | grep reset"// reset range written to console
//// WHAT? Press Home. Move mouse around the screen edges (or use arrow keys). Press PGUP. Move. PGUP. Move. PGDN. You'll get it..
// [MWHEELUP] : SELECT HERO AND FREE CAMERA roll up once centers camera on main hero
bind MWHEELUP "+dota_camera_follow"// stops camera follow
// [MWHEELDOWN] : SELECT ALL OTHERS roll down twice centers camera on portrait
bind MWHEELDOWN "dota_select_all_others"// does not stop camera follow (roll up before)
// SUPPORTING OPTIONS FOR THE ABOVE FUNCTIONS default: []
dota_mouse_window_lock 1// Set initial state for Window lock - should be paired with Edge Pan [1]
dota_camera_edgemove 1// Set initial state for Edge Pan - should be paired with Window Lock [1]
dota_camera_follow_doublepress_time 1000001// Allow single-click Camera Center if selection is unchanged [0.5]
dota_camera_hold_select_to_follow 1// Enable Sticky Follow Hero - camera grip will not stop follow [1]
dota_camera_lock_view_helper 1// Enable Follow Offset with camera grip [1]
dota_camera_smooth_enable 0// Disable camera smooth (gains speed) [1]
dota_camera_smart_follow_offset_time 1// Camera follow time (experimental: 9999) [1]
dota_camera_smart_follow_edge_distance 500// Camera follow distance (experimental: 6000 or 12000) [500]
dota_camera_smart_follow_drag_distance 500// Camera follow drag (experimental: 6000 or 12000) [500]
//alias - About experimental: https://dev.dota2.com/showthread.php?t=276971
//----------------------------------------------------------------------------------------------------------------------------------
alias ' '; con_enable 1; log_verbosity General Console InputService default | grep %; // Resume console spew
//----------------------------------------------------------------------------------------------------------------------------------
Reference cfg above uses default values for most hotkeys and options (most of them commented out to not override existing settings) as it's meant as a guideline to edit your own. If you just want a pre-tweaked version, download instead this autoexec.cfg (tweaked / potato preset) to \steamapps\common\dota 2 beta\game\dota\cfg\
Open in-game Console ( hotkey \ - if it's not enabled you can add launch option: -console ) and load the cfg by entering exec autoexec
It should print a large info response if the cfg file is named and placed correctly.
SHORT COMMANDS (LOCAL ONLY):
----------------------------------------------------------------------------------------------------
| RR Reload .cfg from disk | FF Disconnect / reset menu | QQ Quit game fast |
| GG Start empty test game | BB/HH Spawn creeps / neutrals | VT Video Tweaks |
----------------------------------------------------------------------------------------------------
HOTKEY TOGGLES IN-GAME (MUST FIRST FREE THEM IN GUI TO USE):
----------------------------------------------------------------------------------------------------
| SPACE Hold Follow Any | MWHEELUP Free, Select Hero | MWHEELDOWN Select All Others |
| INS,CAPS UnBound Follow Any | HOME,MOUSE5 Bound Follow Hero | PGUP Large Follow Edge Bounds |
| DEL,CTRL Stop Follow Any | END,MOUSE4 Offset Follow Undo | PGDN Reset Follow Edge Bounds |
| SCROLLLOCK Window + EdgePan | KP/,KP+,KP- Shadows, Vol, Music | G,U Voice OpenMic Team,Party |
----------------------------------------------------------------------------------------------------
Auto UI Animations OFF also helps prevent issues caused by menu animations and particles, specially in post game
DOTA has evolved and with every patch it gets harder to run for potatoes. Plus, when TI compendium is live the game is poorly optimized for the new Immortals released.
What helps the most is to close any other programs, specially stuff featuring in-game overlays (including Steam's own overlay), team chat, overclocking tools, vpn and download "accelerators", mouse and keyboard software bundles (Razer, Steelseries, Logitech), streaming/recording (ShadowPlay, Raptr), web browsing heavy js & media pages (facebook, twitter, youtube), lame antivirus (I recommend switching to Avira) etc.
HOW TO CHECK FOR SPECIFIC ISSUES
CHECK FPS by watching a downloaded replay or playing a local lobby.
[..]
CHECK INPUT DELAY Input delay official description. Updating that for the current tickrate of 30Hz with interpolation time of 66ms:
Input delay
you'd-wish! 60ms ping
late-night 90ms ping
peak-hours 160ms ping
SEA region
Average
126ms
156ms
226ms
offline
Worst
159ms
189ms
259ms
8ms
- So now you know there is a built-in input delay, it will take some getting used to if you come from the FPS world
CHECK PACKET LOSS on Create lobby (online lobby) with bots or a live game (less relevant)
- Sadly, packet loss from either end, no matter how small, will render the game unplayable.
- Watch net_graph in chart mode. If it looks like a jigsaw with red teeth, or the bottom yellow line is constantly fragmented, Valve's server is most likely having issues and you should try another region, or play later (EU West is better late in the night).
- To rule out the problem being at your end, Install Java Runtime. Go to http://www.pingtest.net/. Take the test multiple times with locations close to dota region (ex: for Luxembourg, use Utrecht or Frankfurt).
- If you get constant packet loss, day after day, you need to contact your ISP and tell them about that. It might be their fault, or it my be a faulty network device at your location.
- Not much you can do about it, if it caught you during a game. Try increasing cl_interp up to 0.200, cl_smoothtime up to 0.2, set cl_smooth 1, and reconnect (retry in console).
- Using lerp tweaks from other games like cs and tf2 will not work well for Dota 2. Let's say you force a cl_cmdrate 100 (it's max!) for your 100fps dota. What happens is that you send 3.3x more commands to the server with 70% of them being discarded! But which ones?! That's far from improving anything. And using the minimal lerp of 33ms seems fine with no packet loss, but it's suicide when the connection becomes unreliable!
- The ICMP ping you get by checking public Valve servers will never match in-game actual ping, because first, you might check a decoy, not the actual server you are going to play on, and second, because ICMP measures the fastest response time with the least load on a protocol that does just that, not with actual game size load on the used udp real-time protocol. Every time you switch my net_graph preset, it will also show the ICMP ping in the upper right corner, but the relevant one remains the one reported by net_graph.
- Keep in mind server performance and ping in general varies depending on the load. During weekends or day time, it's a lot worse than during evening/night. It's how the Internet works - just like a real highway. CRASHES
First, run Library -> Dota 2 -> Properties -> Local Files -> Verify integrity of game cache...
Second, switch to single display mode and delete video.txt from ?\steamapps\common\dota 2 beta\dota\cfg\ manufacturer caugh!
Using launch option -high can CTD your game - not completely random, using a taskmanager or the swh-killer might increase the occurrences(TODO: update gamefixer's generated shortcuts without this parameter)
Running Dota 2 as administrator while Steam is not will cause random crashes! I strongly advise you to re-enable UAC,
fix Steam service: clone the Steam desktop shortcut and add the bold commands after target (C:\YourPathToSteam\Steam.exe -s +service_repair +service_restart) then run the new shortcut once,
and remove compatibility options for both Steam.exe and Dota.exe(automated by Gamefixer)
Playing with in-game VSync ON will expose driver bugs. Disable it to prevent crashes.
OS & DRIVERS
- A bugged network driver or "enhancement" software (infamous Killer NIC, VPNs, GPU bundles like quickstream or netservice...etc) can cause crashes. Try another version / remove software. (gamefixer script will fix some of these)
For Bigfoot Killer LAN adapters, you should uninstall Bigfoot Networks Killer Network Manager, reboot and install just the driver without the software suite (current adaptors or discontinued Attachment 30619).
If you can't get rid of it, open Killer Network Manager from the system tray and click Applications, untick "Show running only", and change priority from high/very high to normal (value 3) for steam.exe and dota.exe then click Network and untick "Qualcomm Atheros Bandwidth Control".
- Use Display Driver Uninstaller to cleanup old driver versions before reinstalling. - Always choose clean installation and only select Driver and Physics options (no game experience, streaming, virtual audio, and other useless shit). Do the same for AMD's bundled stuff like quickstream and Raptr. Because having NVIDIA's 3D Vision or AMD's Raptr installed can cause random crashes!
- NVIDIA users should set Maximum pre-rendered frames 4 and Threaded optimization Off in the Control Panel (just for Dota 2 or in Global preset).
- Adjust pc power management profile to high performance and edit advanced settings accordantly
- Rerun directx setup from SteamApps\common\dota 2 beta\_CommonRedist\DirectX\Jun2010.
- Use Aero mode if available with transparency set to off in Window Color and Appearance
ONBOARD + DEDICATED GPU:
Make sure you are not running Dota 2 on your onboard Intel/AMD GPU instead of your more powerful, dedicated GPU.
- Disable the onboard GPU or set gfx switching to advanced mode, if available under BIOS settings
- Intel control panel -> 3D preference = Performance ; Application Optimal Mode = Unchecked and Power Plan = Maximum Performance
- AMD control panel -> PowerPlay Plugged In/Battery = Maximum Performance and 3D Application Settings = (Optimal) Performance. If you have a Switchable Graphics tab, find Dota.exe and set it to High Performance.
- NVIDIA control panel -> Adjust Image Settings with Preview = Use my preference emphasizing: Performance and Manage 3D Settings = High-performance NVIDIA processor for both Global Settings and Dota 2 (dota.exe) Program Settings
- After these changes, YOU ARE REQUIRED to redo the second step (deleting video.txt).
SOFTWARE:
- Oficial list of Programs Which May Interfere with Steam Add to that most software with OSD capability like Razer & Logitech tools, Evolve, Mumble, GPUTweak and don't even try stuff like Game Booster
- Half-Life DJ. Have you heard about Steam's Music? Uninstall HLDJ and remove it's scripts from cfg folder and it's exec line in autoexec.cfg.
- Check for 100% cpu usage because of concurrent software running while you play: spyware, folding tools, bad antivirus like avg or mse (remove and use avira)
- Don't use multi-process architecture browsers, it's enough that Steam use it, you don't want your system resources depleted by Chrome, Spotify etc. The best feature rich browser that do not interfere with games is Firefox!
- Disable hardware acceleration for all the internet browsers and for Steam - it's really needed just for the adobe flash plugin and media players.
- Check for focus stealing applications with Window Focus Logger and kill those misbehaving before playing (sadly some vpn software that you might need behaves like this).
STEAM
- If Steam does not load / unable to connect when http://www.issteamdown.com/ reports Steam is Up, delete one by one the following files and try again: "Steam\userdata\youruseridnumber\config\localconfig.vdf"
"Steam\userdata\youruseridnumber\7\remote\sharedconfig.vdf"
"Steam\config\config.vdf"
If above did not work, delete everything except SteamApps folder and Steam.exe
- Steam settings:
Disable Steam Friends notifications When any Friend joins a game and When any Friend comes online, Steam In-Game Overlay and FPS Counter, Interface DirectWrite and Hardware video decoding, Cloud services and Downloads during gameplay (and in Library-Dota-Updates Only update this game when I launch it).
GAME-BREAKING COSMETICS causing crashes on map load and hero picking / missing resources errors (sounds, models) in the console:
- The fastest way to determine if it's something in your inventory causing troubles, is to launch Steam and Dota 2 in offline mode.
- Remove all local -override_vpk mods (custom sounds, models, effects). Included in this script.
- Unequip all huds, loading screens, global weather and multikill badges. Hero items, wards and couriers don't usually cause problems, except hq and new items with particles and custom sounds. Unequip those first. You still crash after following this guide?
Provide crash-dumps or it did not happen! (get last dota_XXX_*.mdmp in your dota folder - where dota.exe is - archive it and upload it somewhere and post the link)
You can force the game to crash and generate the above crash-dump by entering these two commands in the console: sv_cheats 1 then crash
Grab your relevant system info using the helper script list_my_programs.bat on pastebin or zipped here: Attachment 27995
then submit Desktop\List_my_programs.txt and Open Hardware Monitor (File-Save Monitoring data) with dota open/just after a crash.
If it's a network issue, provide additional info like:
- screen capture with netgraph visible
- date, time, timezone it happened. Example: Nov21, 19:00, UTC+2
- server region used. Example: Europe West
- server details. Example: status in console: [I]hostname: Valve Dota 2 EU East Server (srcds012.192.68) udp/ip : 185.25.182.31:27082
- icmp ping to selected region. Example: Europe region has servers in Austria, Luxembourg and Sweden. Verify internet connectivity by pinging some reliable at,lu,se servers, not Valve's.If you get lots of request timed out and high ms number, don't expect Valve's servers to do better since game udp traffic should be affected more (ping -n 10 vix.at or upc.at oja.at root.lu vo.lu dclux.lu telia.se telenor.se bahnhof.se).
benchmark.cfg I recommend testing with Game 1 of EG vs OG Kiev Major Semi-Final (match id: 3148575443) with the following benchmark.cfg:
Save as \steamapps\common\dota 2 beta\game\dota\cfg\benchmark.cfg
Exec from in-game console entering: exec benchmark
(or exec benchmark.cfg.txt if you screwed the extension)
Results are saved to: \steamapps\common\dota 2 beta\game\dota\Source2Bench.csv
Also available as a zip containing match id 3148575443 demo + cfg + readme: DOTA_2_benchmark_lite.zip
If you are not getting over 30fps, lower your settings
If you are not getting over 25fps, pray for more optimizations
If you are not getting over 20fps, update your hardware asap
Recommended for now.
Spoiler:
benchmark.cfg (experimental, not up to date)
Code:
////--------------------------------------------------------------------------------------------------------------------------------
////
//// AveYo's DOTA 2 BENCHMARK.CFG v3.1
//// Previous D-OPTIMIZER V2 cfg engine based script got this job done using clever pseudo schedule / wait cmds
//// Now Valve finally added exec_async and a suite of useful commands featured in their perftest.cfg
//// This is a quick mix of the two scripts
////
//// 1: remove .txt extension and copy this file to \Steam\steamapps\common\dota 2 beta\game\dota\cfg\benchmark.cfg
//// 2: change Dota 2 launch options (-dx11 / -dx9 / -vulkan / -nod3d9ex / -nosound )
//// 3: open Dota 2 and go to Watch - Replays - enter 2844309781 in Search for MatchIDs then download it
//// credits for the matchid goes to dev.dota user: jstq
//// 4: to start, enter into console: EXEC_ASYNC BENCHMARK
//// Zip file including replay available at: https://1drv.ms/f/s!AhH0pZaDBUFEgU6MJbUMugaQZuFw
////
//// Demo overlay and spectator menu cannot be closed by script anymore, feel free to do it manually in the Warm up phase
//// Try not to press any keys or move the mouse in the red Running performance tests phase ( takes ~2 minutes )
//// Results are pretty printed to console when finished
//// Can be saved to \dota 2 beta\game\dota\condumpxxx.txt file after entering into console: CONDUMP
////
//// v2 Changes:
//// - initial short warmup now uses normal demo playback
//// - removed demo_goto usage (caused Source2Bench.csv not writing fps number - it was reported fine in console)
//// - timedemo now runs uninterrupted for more reliable results
//// - added particle usage reporting
//// - improved ui feedback
//// v2.1 Changes:
//// - added a better alias filter to facilitate resetting timedemo_start / timedemo_end when done / intrerrupted with FF
//// - added pimpmuckl's demo alternative
//// - added a few more stats to the console report (video memory usage, sound cache usage)
//// v3 Changes:
//// - adapted Valve's perftest.cfg for more specific / grouped stats and extra machine info
//// - single replay load with several warm up stages implemented for more accurate and reproducible results
//// v3.1 Changes:
//// - split into live test (repeated once) and 7x static tests, overall duration reduced
//// - added 'Interpreting the static test results' by gdrewb-valve
////
////--------------------------------------------------------------------------------------------------------------------------------
//// Last updated: 21:40 UTC FEB 28
//// BACKUP CVARS? ( ASSUMING IT SHOULD DO THAT, IT'S ONLY PARTIAL )
push_var_values
//// LOADING REPLAY OPTIONS
sv_log 0
sv_alternateticks 0
dota_spectator_use_broadcaster_stats_panel 0
dota_spectator_mode 0
dota_spectator_hero_index ""
cl_showdemooverlay 0; // still broken, no other command usable to hide demo overlay
demo_usefastgoto 1
@panorama_show_fps 1
//demo_pauseatservertick 104200
//// REPLAY TARGET DEFAULT: replays\2844309781
alias #replay_target "playdemo replays\2844309781"; // reused by LIVE TEST 3
#replay_target;
//// REPLAY LOAD TIME - DEFAULT 60 SECONDS SHOULD BE ENOUGH ( COULD USE 30 FOR FASTER SYSTEMS OR 90 FOR SLOWER ONES )
sleep 60000
//sleep 30000
//sleep 90000; // sleep can't be aliased..
////--------------------------------------------------------------------------------------------------------------------------------
//// CFG INTERNALS: CONSOLE OUTPUT / CANCEL / D-OPTIMIZER BASED SCHEDULER ENGINE REPLACED BY EXEC_ASYNC SLEEP
////--------------------------------------------------------------------------------------------------------------------------------
//// CONSOLE ECHO ALTERNATIVE WITH ON-THE-FLY COLORS! - FINALLY VALVE (RE)ADDED ECHOLN SO USE THAT INSTEAD
alias #echo_off "log_flags Console General +donotecho | grep %";alias #echo_on "log_flags Console General -donotecho | grep %";
alias #color_none "log_color General C0C0C000 | grep %"; // invisible color - text can still be selected/copied/pasted
alias #color_default "log_color General 00000000 | grep %;alias #color #color_default";//ip "";// using echoln instead of ip for newline
alias #echo "#color_none;echoln;#color";// basically sets invisible color, prints newline (v2: ip = ) then restores previous color
//// COLOR PRESETS! - WORKS THE SAME WITH BUILT-IN ECHOLN
alias #color_cyan "log_color General 00FFFFFF | grep %;alias #color #color_cyan";
alias #color_yellow "log_color General FFFF00FF | grep %;alias #color #color_yellow";
alias #color_green "log_color General 00FF00FF | grep %;alias #color #color_green";
//// FILTER
alias `~` "";
//// DISABLE ALL CONSOLE SPEW SOURCES FOR A CLEAN SCRIPT OUTPUT ( VALVE PLZ GIFF SINGLE CMD FOR IT )
log_flags Console +DoNotEcho | grep %
log_flags General Developer DeveloperConsole Panel Panorama PanoramaScript VScript VScriptDbg VScriptScripts CustomUI CustomGameCache CustomNetTable +DoNotEcho
log_flags AnimationGraph AnimationSystem AnimGraphManager AnimResource Assert "BitBuf Error" BoneSetup Client "Combat Analyzer" CommandLine D3D Decals Demo DeveloperVerbose DotaGuide DOTAHLTVCamera +DoNotEcho
log_flags DOTAHLTVDirector DOTA_CHAT DownloadManager EmitSound EngineInitialization EngineServiceManager "Entity Dump" "Entity Load Unserialize" "Entity System" Filesystem GameEventSystem GCClient GlobalState HangWatchdog "HLTV Server" Host +DoNotEcho
log_flags HostStateManager IME InputService InputSystem InstantReplay LOADING MaterialSystem MeshSystem ModelCombiner modellib NavMesh NetworkClientService Networking "Networking Reliable" NetworkP2PService NetworkServerService +DoNotEcho
log_flags NetworkService Particles ParticlesLib Physics PostProcessing PostProcessPipeline RenderPipelineDota RenderPipelineVr RenderService RenderSystem ResourceSystem SaveRestore SaveRestoreIO Scaleform "Scaleform IME" ScaleformAS +DoNotEcho
log_flags ScaleformParse ScaleformScript SceneSystem SchemaSystem SchemaSystemUtils Server ServerLog SignonState SndEmitterSystem SndOperators SoundOperatorSystem SoundOpGameSystem SoundSystem SoundSystemLowLevel SpawnGroup SplitPacket +DoNotEcho
log_flags SplitScreen Steam SteamDatagramClient SteamDatagramServer SteamUnifiedMessages ToneMapping ToolGameSimulation TypeManager Vfx VguiCallQueue VolumetricFog VProf VR WeekendTourney Workshop WorldRenderer +DoNotEcho
////--------------------------------------------------------------------------------------------------------------------------------
//// BENCHMARK MAIN - SYSTEM INFO, THEN 5 x 30 seconds performance tests
////--------------------------------------------------------------------------------------------------------------------------------
//// TEST ACTIVATE ( Valve's proposed method relies on cl_showfps - it should have lower overhead than D-OPTIMIZER V2 based Vprof )
@panorama_show_fps 0
fps_max 999
cl_showfps 2
//// LIVE TEST 1. CURRENT USER SETTINGS [DEF] D-OPTIMIZER PRESETS: Potato Low OPTIMAL Med High Ultra @
////--------------------------------------------------------------------------------------------------------------------------------
//dota_portrait_animate 1; // [1] Animate Portrait 0 0 1 1 1 1 O
//r_deferred_additive_pass 0; //~ [1] Additive Light Pass 0 0 0 1 1 1 M
//r_deferred_simple_light 1; // [1] World Lighting 0 1 1 1 1 1 L
//r_ssao 0; // [0] Ambient Occlusion 0 0 0 0 0 1 U
//r_dota_normal_maps 0; // [0] Normal Maps 0 0 0 1 1 1 M
//r_dota_allow_parallax_mapping 0; // [0] Ground Parallax 0 0 0 0 1 1 H
//dota_ambient_creatures 0; // [0] Ambient Creatures 0 0 0 0 0 1 U
//dota_ambient_cloth 1; // [0] Ambient Cloth Simulation 0 0 1 1 1 1 M
//r_grass_quality 1; // [0] Grass 0 0 1 2 3 4 O
//r_dota_fxaa 0; // [0] Anti-Aliasing 0 0 0 0 1 1 H
//r_deferred_specular 1; // [0] Specular 0 0 1 1 1 1 O
//r_deferred_specular_bloom 0; // [0] Specular and Light Blooms 0 0 0 1 1 1 M
//dota_cheap_water 1; // [1] !High Quality Water 1 1 1 1 0 0 H
//r_deferred_height_fog 1; // [1] Atmospheric Fog 0 0 1 1 1 1 O
//r_dashboard_render_quality 1; // [1] High Quality Dashboard - - - - - - -
//r_dota_allow_wind_on_trees 0; // [0] Tree Wind 0 0 0 0 1 1 H
//r_texture_stream_mip_bias 1; // [1] Texture Quality 2 1 1 1 0 0 L
//cl_particle_fallback_base 4; //~ [2] Effects Quality 4 4 4 2 0 0 M
//cl_globallight_shadow_mode 2; // [2] Shadow Quality 0 1 2 2 2 3 L
//mat_viewportscale 1.0; // [1] Render Quality 0.8 0.9 1.0 1.0 1.0 1.0 L
//fps_max 60.0f; // [120] Maximum frames per second 60 60 60 120 144 240 M
//// Reset live scene
demo_resume
dota_spectator_mode 3
dota_spectator_hero_index 0
demo_goto 102900 pause
sleep 2000
dota_spectator_hero_index 2
stat_dropdown 0
demo_resume
#color_green
#echo_on
echoln LIVE TEST 1. CURRENT USER SETTINGS
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 30000
#echo_on
cl_printfps
#echo_off
//// LIVE TEST 2. CURRENT USER SETTINGS
//// Reset live scene
demo_resume
dota_spectator_mode 3
dota_spectator_hero_index 0
demo_goto 102900 pause
sleep 2000
dota_spectator_hero_index 2
stat_dropdown 0
demo_resume
#color_green
#echo_on
echoln LIVE TEST 2. CURRENT USER SETTINGS
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 30000
#echo_on
cl_printfps
#echo_off
//// STATIC TEST 1. CURRENT USER SETTINGS
#color_yellow
#echo_on
echoln
echoln STATIC TEST 1. CURRENT USER SETTINGS
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 5000
#echo_on
cl_printfps
#echo_off
//// STATIC TEST 2. BASELINE MEASUREMENT
mat_viewportscale 1
cl_globallight_shadow_mode 2
dota_cheap_water 0
r_drawparticles 1
cl_particle_simulate 1
r_drawblankworld 0
r_drawpanorama 1
#color_yellow
#echo_on
echoln STATIC TEST 2. BASELINE MEASUREMENT
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 5000
#echo_on
cl_printfps
#echo_off
//// STATIC TEST 3. HALF RESOLUTION
mat_viewportscale 0.5;//1
cl_globallight_shadow_mode 2
dota_cheap_water 0
r_drawparticles 1
cl_particle_simulate 1
r_drawblankworld 0
r_drawpanorama 1
#color_yellow
#echo_on
echoln STATIC TEST 3. HALF RESOLUTION
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 5000
#echo_on
cl_printfps
#echo_off
//// STATIC TEST 4. REDUCED DRAWING
mat_viewportscale 1
cl_globallight_shadow_mode 1;//2
dota_cheap_water 1;//0
r_drawparticles 1
cl_particle_simulate 1
r_drawblankworld 0
r_drawpanorama 1
#color_yellow
#echo_on
echoln STATIC TEST 4. REDUCED DRAWING
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 5000
#echo_on
cl_printfps
#echo_off
//// STATIC TEST 5. PARTICLES DISABLED
mat_viewportscale 1
cl_globallight_shadow_mode 2
dota_cheap_water 0
r_drawparticles 0;//1
cl_particle_simulate 0;//1
r_drawblankworld 0
r_drawpanorama 1
#color_yellow
#echo_on
echoln STATIC TEST 5. PARTICLES DISABLED
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 5000
#echo_on
cl_printfps
#echo_off
//// STATIC TEST 6. UI ONLY
mat_viewportscale 1
cl_globallight_shadow_mode 2
dota_cheap_water 0
r_drawparticles 1
cl_particle_simulate 1
r_drawblankworld 1;//0
r_drawpanorama 1
#color_yellow
#echo_on
echoln STATIC TEST 6. UI ONLY
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 5000
#echo_on
cl_printfps
#echo_off
//// STATIC TEST 7. GAME ONLY
mat_viewportscale 1
cl_globallight_shadow_mode 2
dota_cheap_water 0
r_drawparticles 1
cl_particle_simulate 1
r_drawblankworld 0
r_drawpanorama 0;//1
#color_yellow
#echo_on
echoln STATIC TEST 7. GAME ONLY
#echo_off
#color_default
//// Let new state settle.
sleep 1000
cl_resetfps
sleep 5000
#echo_on
cl_printfps
#echo_off
r_drawpanorama 1
//// STATIC TESTS HELP
#color_cyan
#echo_on; echoln; echoln Interpreting the static test results (gdrewb-valve); #echo_off
#echo_on; echoln * If HALF RESOLUTION FPS is significantly higher than BASELINE FPS you should reduce the Game Screen Render Quality; #echo_off
#echo_on; echoln * If REDUCED DRAWING FPS is significantly higher than BASELINE FPS you should turn off High Quality Water and set Shadow Quality to Med/Off; #echo_off
#echo_on; echoln * If PARTICLES DISABLED FPS is higher than BASELINE FPS you should drop Effects Quality; #echo_off
#echo_on; echoln * If GAME ONLY FPS is significantly higher than BASELINE FPS you should turn off High Quality UI; #echo_off
#color_default
//// TEST FINISHED
#color_yellow
#echo_on
echoln
echoln -------------------------------------------------------------
echoln [DOTA 2 BENCHMARK] Finished!
echoln -------------------------------------------------------------
#color_default
grep . To save results into ; #color_cyan; grep . \dota 2 beta\game\dota\condumpxxx.txt ; #color_default;
grep . file, enter ; #color_green; grep . CONDUMP ; #color_default; echoln; // multiple colors on a single line
grep . To run benchmark again, enter short alias: ; #color_green; grep . BM; #color_default;
echoln
#echo_off
Why I believe this demo (Match id 2844309781) is a suitable choice (again, credits goes to jstq for suggesting it):
- it's recent, official (i.e. complete demo stored on Valve's servers), and easier to get (no need to download it from filesharing services where it might catch golem knows what)
- it's demanding, since it features Monkey King, Underlord, SF Arcana, and Rubik!
- it can be used just as easy (without benchmark.cfg), with a few extra commands on the same line: dota_spectator_mode 3;dota_spectator_hero_index 5;timedemo_start 102600;timedemo_end 103600;timedemo replays\2844309781
04-28-2016, 12:35 PM
aveyo
Q & A
- Your fps cfg
from joneanu
Quote:
Everything works smoothly while using your cfg,high fps in fights and also looks even better than before but there's some input lag i can't stand.Is there any fix for this?
Input lag senso-stricto is caused by VSync - and the cfg can not toggle VSync. There is however one relevant line that can improve input lag when having VSync ON if you have constantly way more fps than display refresh rate (otherwise, lowers fps):
Code:
r_experimental_lag_limiter 0; // 1:VSync w less inputlag if can maintain fps (dev.dota2 t=184108) [0]
Just set r_experimental_lag_limiter 1; (it's 0 also by default).
If you're talking about network delay, then yes, it's set for potatoes, hence low quality network settings. I've set it as such since servers have been potato ever since TI, really. And with + coming up, will probably get worse. Anyway, relevant lines are:
Just set rate 80000; cl_cmdrate 30; cl_updaterate 30; And GUI network quality to high (or uncomment and set it in cfg but being so volatile, should be set game by game).
There is one more thing that you might not be familiar with, and that's mouse raw input and no windows artificial acceleration. I've added that because it's the most accurate, and second because it fixes a long standing bug with mouse input on Windows 10. Relevant lines are:
Code:
m_rawinput 1; //? Use Raw Input for mouse - better in high pooling rate (500Hz+) [0]
m_mousespeed 0; //? Windows mouse speed acceleration 0=disable 1=enable [1]
Just set m_rawinput 0; m_mousespeed 1;
These pretty much covers it. Test one by one, report back.
what about -high parametr? it helps to stable what do you think?
12-14-2016, 10:39 AM
aveyo
ingatello : that makes two of us. instructions are clear enough for an average computer-savy user
- either create the respective text files manually and copy-paste the code
or
- download from pastebin (hit the get button); batch files will work directly, while cfg's will need their cfg.txt extension be renamed to just .cfg (having show extension for known file types enabled on your file manager helps a lot).
legenda296 : I have never advised the use of -high because it causes more issues than it solves for most people. Sure, on stable hardware it can help a little, but on already edgy hardware it will accelerate crashes and stutters instead.
12-14-2016, 11:45 PM
legenda296
Can I ask a question, what -autoconfig_level 0 -benchframes 1 -bench means?
12-15-2016, 12:05 AM
aveyo
-autoconfig_level 0 will reset video options to lowest, and, more importantly, will remove exclusive fullscreen if set since having it on can prevent from even launching the game
The only other way to do that would be to manually delete/edit video.txt file in the cfg folder
-benchframes 1 -bench it's just to automatically close the game as soon as possible after doing the above reset
Like mentioned, you only need to do that once, then completely remove these 3 options.
12-15-2016, 05:14 AM
Livithium
I've tried to fix my problems with you instructions. But so far nothing helped.
I was trying to search for MM games with another account on the same hardware / computer with almost the same settings and I had no problems at all.
Seems that my problem is more likely to be linked to the account.
I've contacted the steam support and 1 of the developers in this forum. For now I can only wait.
When I'm back from work, I'll try to reset the dota.bat aswell and see what happens.
Like now there are at least 7 people with similar problems, that have posted something on this forum.