EDIT:
MeTheRebel obviously knows his source engine and had alot of improvements and additions to contribute. check it out:
Ok so here I go:
1st - Heapsize was made for old non-source games and it worked
In source games it might slow you down and crash your game.
2nd - Autoexec.cfg file:
con_enable "1" - enables console so you don't have to put -console in launch options
r_renderoverlayfragment "0" - increases fps
r_threaded_shadow_clip "1" - if you have a processor with multiple cores leave this command if not delete it
mat_queue_mode "2" - if you have a processor with multiple cores leave this command if not delete it
cl_interp_ratio "1" - interp modifier
cl_interp "0.025" interp modifier / interp = cmd/update rate
cl_cmdrate "40" - this is maximum
cl_updaterate "40" - this is maximum
cl_smooth "0" - not really sure what to do with this one atm, for fps games is better to be 0
cl_threaded_bone_setup "1" - if you have a processor with multiple cores leave this command if not delete it
cl_threaded_init "1" - if you have a processor with multiple cores leave this command if not delete it
bind C dota_select_courier - binds your courier on "C" key , you can bind it to any other key or just delete the command
dota_disable_range_finder "0" - enables a green line which shows you how long your ability will go
net_compressvoice "1" - compresses voice chat for better latency (not 100% sure if it works)
r_queued_decals "1" - if you have a processor with multiple cores leave this command if not delete it
r_queued_post_processing "1" - if you have a processor with multiple cores leave this command if not delete it
fps_max "60" - disable vsync and use this command (put your monitors refresh rate here), vsync can cause mouse delay
rate "30000" - put your own rate , formula is this: *your max speed* / 8 bits = X kbYtes/sec , X * 1024 = *your rate*
net_maxcleartime "0" - sends packets without waiting
mem_level "0" - lowest setting for max fps
gpu_level "0" - lowest setting for max fps
gpu_mem_level "0" - lowest setting for max fps
cpu_level "0" - lowest setting for max fps
3rd - Set launch options:
-novid (doesnt show starting video) -noforcemaccel (applies windows acceleration settings) -nod3d9ex (for more fps , alt tabing on win vista and 7 can cause crashes)
sweet stuff in there. if anyone knows more, dont hesitate to post.
hey guys,
i'm on an asus g71v laptop. if you wanna know what specs it has, just google it. i have around 25-35 fps in heavy fights to 60-70 when nothing is going on. and here is how i do it:
i run the game with the settings all on low(even the animated picture is off. it really brings 2-3 frames), vsync off and a resolution of 1280x720.
i use the program 'gamebooster'. and i can really recommend it to everyone having problems with framerates. it runs in background and basically disables all unneeded processes and kinda boosts your game.
in addition to that, here is my autoexec.cfg:
bind "F11" "toggleconsole"
con_enable 1
chat_join dota2.de
//these settings optimize your ping a little. but dont use these if ur on a 56k modem
cl_cmdrate 66
cl_interp 0.0152
cl_interp_ratio 1
cl_lagcompensation 1
cl_pred_optimize 2
cl_smooth 0
cl_smoothtime 0.01
cl_updaterate 66
rate 60000
dota_disable_range_finder (//this one shows you a range indicator whenever you cast a spell in case you didnt know)
cl_showfps 0
//these force your system to preload the game data to your ram. it can really help if u have low fps 'spikes' because of reloading game data. more info on bottom
cl_forcepreload 1
sv_forcepreload 1
snd_mix_async 1 (//this somehow improves how the game loads sound. i heard it helps fps wise too)
//and now some binds i made to make life easier. use them if you like them.
bind "LEFTARROW" "say_team miss top"
bind "RIGHTARROW" "say_team miss bottom"
bind "DOWNARROW" "say_team miss mid"
bind "UPARROW" "say_team re"
echo "autoexec enabled!"
//holding 'y' now creates a ring around yourself which has the exact range of a tower.
alias "+range" "dota_range_display 950"
alias "-range" "dota_range_display 0"
bind "y" "+range"
//pressing 'x' lets the courier grab your stuff from stash brings it to you and if it is a flying courier it uses boost.
alias "quick_courier" "dota_select_courier; dota_ability_execute 2; dota_ability_execute 3; dota_ability_execute 4; +dota_camera_follow"
bind "x" "quick_courier"
---------------------------------------------------------------------
in case you dont know what an autoexec is:
go to: steam/steamapps/common/dota 2 beta/dota/cfg
create a text document, copy+paste stuff like the above in it and save it as 'autoexec.cfg'. you have to change *.txt to *.cfg. otherwise it wont work.
ANOTHER IMPORTANT ADDITION
would be the launch properties of dota. go to your steam library, right click dota 2 and click properties. then launch properties on the first tab.
insert the following:
-console -nod3d9ex -novid -high -dxlevel 81 -heapsize 1048576
this will enable the console, cancel the bald valve guy on startup, set the priority of the process of running dota to 'high', make you use direct x 8.1 (which disables some shaders and brings more fps)
AND the heapsize will give the game a certain amount of your ram to use exclusively.
i have 4gb ram and want dota to use 2gb of it. so i set the heapsize to 1048576. if u want the game to use 1gb or 4gb, just calculate or google how many bytes that would be
you can also verify the game data in the properties. i would suggest to do that.
---------------------------------------------------------------------
thats it so far. thats what i use. thats what i got together out of experience and research on how to improve a source games fps.
i hope i can help anyone out there. please feel free to post additional stuff or suggestions.
tl;dr: having fps problems? then read that god damn thing