// This script gathers some basic information about how // Dota runs on a particular machine. The intended usage // is to get to the game state of interest and then // execute this script with 'exec_async perftest'. // Note that if you are testing in a game it is recommended // to pause the game for more consistent results. // Additionally exec_async can only be used when cheats // are allowed. echoln echoln echoln ------------------------------------------------------------- echoln perftest output starts here. echoln ------------------------------------------------------------- echoln echoln push_var_values sys_info fps_max 999 cl_showfps 2 echoln echoln echoln ------------------------------------------------------------- echoln Performance tests now running, this can take a minute or two. echoln ------------------------------------------------------------- echoln // Give some time for the user to see the message above. sleep 2000 hideconsole // If we're watching a demo mark where we're at so that we can // run each test starting from the same point with demo_gotomark. // If you want to run the perftest from a specific point in // a replay use "demo_marktick 4 " prior to exec_async. // That will lock a particular tick as the mark and this mark will // be ignored. "demo_marktick 8" will unlock the tick. demo_marktick 2 // Turn on GPU perf collection stats_display 1 stats_collect_gpu true echoln echoln User settings measurement // We've already waited so things should be warm, go ahead and measure. demo_gotomark 1 // Wait for any demo seeking to happen. sleep 2000 cl_resetfps sleep 2000 cl_printfps echoln GPU Time: stats_print_gpu perftest_usersettings.csv echoln echoln Half resolution mat_viewportscale 0.5 // Let new state settle. sleep 1000 demo_gotomark 1 // Wait for any demo seeking to happen. sleep 2000 cl_resetfps sleep 2000 cl_printfps echoln GPU Time: stats_print_gpu perftest_halfresolution.csv mat_viewportscale 1 echoln echoln Reduced Settings (similar to Source1) r_particle_shadows 0 r_aoproxy_enable 0 r_csgo_mboit 0 r_ssao 0 r_csgo_gpu_culling 0 r_csgo_effects_bloom 0 lb_csm_cascade_size_override 1024 // Let new state settle. sleep 1000 demo_gotomark 1 // Wait for any demo seeking to happen. sleep 2000 cl_resetfps sleep 2000 cl_printfps echoln GPU Time: stats_print_gpu perftest_s1_settings.csv r_particle_shadows 1 r_aoproxy_enable 1 r_csgo_mboit 1 r_ssao 1 r_csgo_gpu_culling 1 r_csgo_effects_bloom 1 lb_csm_cascade_size_override 2048 echoln echoln UI only r_drawblankworld 1 // Let new state settle. sleep 1000 demo_gotomark 1 // Wait for any demo seeking to happen. sleep 2000 cl_resetfps sleep 2000 cl_printfps echoln GPU Time: stats_print_gpu perftest_uionly.csv r_drawblankworld 0 echoln echoln Game only r_drawpanorama 0 // Let new state settle. sleep 1000 demo_gotomark 1 // Wait for any demo seeking to happen. sleep 2000 cl_resetfps sleep 2000 cl_printfps echoln GPU Time: stats_print_gpu perftest_gameonly.csv r_drawpanorama 1 pop_var_values showconsole echoln echoln echoln ------------------------------------------------------------- echoln perftest output ends here. echoln -------------------------------------------------------------