Advertisement
aveyo

benchmark.cfg - outdated!

Dec 14th, 2016
3,610
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.70 KB | None | 0 0
  1. ////--------------------------------------------------------------------------------------------------------------------------------
  2. ////
  3. //// AveYo's DOTA 2 BENCHMARK.CFG v3.1
  4. //// Previous D-OPTIMIZER V2 cfg engine based script got this job done using clever pseudo schedule / wait cmds
  5. //// Now Valve finally added exec_async and a suite of useful commands featured in their perftest.cfg
  6. //// This is a quick mix of the two scripts
  7. ////
  8. //// 1: remove .txt extension and copy this file to \Steam\steamapps\common\dota 2 beta\game\dota\cfg\benchmark.cfg
  9. //// 2: change Dota 2 launch options (-dx11 / -dx9 / -vulkan / -nod3d9ex / -nosound )
  10. //// 3: open Dota 2 and go to Watch - Replays - enter 2844309781 in Search for MatchIDs then download it
  11. //// credits for the matchid goes to dev.dota user: jstq
  12. //// 4: to start, enter into console: EXEC_ASYNC BENCHMARK
  13. //// Zip file including replay available at: https://1drv.ms/f/s!AhH0pZaDBUFEgU6MJbUMugaQZuFw
  14. ////
  15. //// Demo overlay and spectator menu cannot be closed by script anymore, feel free to do it manually in the Warm up phase
  16. //// Try not to press any keys or move the mouse in the red Running performance tests phase ( takes ~2 minutes )
  17. //// Results are pretty printed to console when finished
  18. //// Can be saved to \dota 2 beta\game\dota\condumpxxx.txt file after entering into console: CONDUMP
  19. ////
  20. //// v2 Changes:
  21. //// - initial short warmup now uses normal demo playback
  22. //// - removed demo_goto usage (caused Source2Bench.csv not writing fps number - it was reported fine in console)
  23. //// - timedemo now runs uninterrupted for more reliable results
  24. //// - added particle usage reporting
  25. //// - improved ui feedback
  26. //// v2.1 Changes:
  27. //// - added a better alias filter to facilitate resetting timedemo_start / timedemo_end when done / intrerrupted with FF
  28. //// - added pimpmuckl's demo alternative
  29. //// - added a few more stats to the console report (video memory usage, sound cache usage)
  30. //// v3 Changes:
  31. //// - adapted Valve's perftest.cfg for more specific / grouped stats and extra machine info
  32. //// - single replay load with several warm up stages implemented for more accurate and reproducible results
  33. //// v3.1 Changes:
  34. //// - split into live test (repeated once) and 7x static tests, overall duration reduced
  35. //// - added 'Interpreting the static test results' by gdrewb-valve
  36. ////
  37. ////--------------------------------------------------------------------------------------------------------------------------------
  38. //// Last updated: 21:40 UTC FEB 28
  39.  
  40. //// BACKUP CVARS? ( ASSUMING IT SHOULD DO THAT, IT'S ONLY PARTIAL )
  41. push_var_values
  42.  
  43. //// LOADING REPLAY GUI HINT
  44. hideconsole
  45. activategameui
  46. top_bar_message "[Dota 2 Benchmark] Loading replays/2844309781, please wait a minute.." 0
  47. sleep 5000
  48. gameui_hide
  49.  
  50. //// LOADING REPLAY OPTIONS
  51. sv_log 0
  52. sv_alternateticks 0
  53. dota_spectator_use_broadcaster_stats_panel 0
  54. dota_spectator_mode 0
  55. dota_spectator_hero_index ""
  56. cl_showdemooverlay 0; // still broken, no other command usable to hide demo overlay
  57. demo_usefastgoto 1
  58. @panorama_show_fps 1
  59. //demo_pauseatservertick 104200
  60.  
  61.  
  62. //// REPLAY TARGET DEFAULT: replays\2844309781
  63. alias #replay_target "playdemo replays\2844309781"; // reused by LIVE TEST 3
  64. #replay_target;
  65.  
  66. //// REPLAY LOAD TIME - DEFAULT 60 SECONDS SHOULD BE ENOUGH ( COULD USE 30 FOR FASTER SYSTEMS OR 90 FOR SLOWER ONES )
  67. sleep 60000
  68. //sleep 30000
  69. //sleep 90000; // sleep can't be aliased..
  70.  
  71.  
  72. ////--------------------------------------------------------------------------------------------------------------------------------
  73. //// CFG INTERNALS: CONSOLE OUTPUT / CANCEL / D-OPTIMIZER BASED SCHEDULER ENGINE REPLACED BY EXEC_ASYNC SLEEP
  74. ////--------------------------------------------------------------------------------------------------------------------------------
  75. //// CONSOLE ECHO ALTERNATIVE WITH ON-THE-FLY COLORS! - FINALLY VALVE (RE)ADDED ECHOLN SO USE THAT INSTEAD
  76. alias #echo_off "log_flags Console General +donotecho | grep %";alias #echo_on "log_flags Console General -donotecho | grep %";
  77. alias #color_none "log_color General C0C0C000 | grep %"; // invisible color - text can still be selected/copied/pasted
  78. alias #color_default "log_color General 00000000 | grep %;alias #color #color_default";//ip "";// using echoln instead of ip for newline
  79. alias #echo "#color_none;echoln;#color";// basically sets invisible color, prints newline (v2: ip = ) then restores previous color
  80. //// COLOR PRESETS! - WORKS THE SAME WITH BUILT-IN ECHOLN
  81. alias #color_cyan "log_color General 00FFFFFF | grep %;alias #color #color_cyan";
  82. alias #color_yellow "log_color General FFFF00FF | grep %;alias #color #color_yellow";
  83. alias #color_green "log_color General 00FF00FF | grep %;alias #color #color_green";
  84. //// FILTER
  85. alias `~` "";
  86. //// DISABLE ALL CONSOLE SPEW SOURCES FOR A CLEAN SCRIPT OUTPUT ( VALVE PLZ GIFF SINGLE CMD FOR IT )
  87. log_flags Console +DoNotEcho | grep %
  88. log_flags General Developer DeveloperConsole Panel Panorama PanoramaScript VScript VScriptDbg VScriptScripts CustomUI CustomGameCache CustomNetTable +DoNotEcho
  89. log_flags AnimationGraph AnimationSystem AnimGraphManager AnimResource Assert "BitBuf Error" BoneSetup Client "Combat Analyzer" CommandLine D3D Decals Demo DeveloperVerbose DotaGuide DOTAHLTVCamera +DoNotEcho
  90. 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
  91. log_flags HostStateManager IME InputService InputSystem InstantReplay LOADING MaterialSystem MeshSystem ModelCombiner modellib NavMesh NetworkClientService Networking "Networking Reliable" NetworkP2PService NetworkServerService +DoNotEcho
  92. log_flags NetworkService Particles ParticlesLib Physics PostProcessing PostProcessPipeline RenderPipelineDota RenderPipelineVr RenderService RenderSystem ResourceSystem SaveRestore SaveRestoreIO Scaleform "Scaleform IME" ScaleformAS +DoNotEcho
  93. log_flags ScaleformParse ScaleformScript SceneSystem SchemaSystem SchemaSystemUtils Server ServerLog SignonState SndEmitterSystem SndOperators SoundOperatorSystem SoundOpGameSystem SoundSystem SoundSystemLowLevel SpawnGroup SplitPacket +DoNotEcho
  94. log_flags SplitScreen Steam SteamDatagramClient SteamDatagramServer SteamUnifiedMessages ToneMapping ToolGameSimulation TypeManager Vfx VguiCallQueue VolumetricFog VProf VR WeekendTourney Workshop WorldRenderer +DoNotEcho
  95.  
  96. ////--------------------------------------------------------------------------------------------------------------------------------
  97. //// BENCHMARK MAIN - SYSTEM INFO, THEN 5 x 30 seconds performance tests
  98. ////--------------------------------------------------------------------------------------------------------------------------------
  99.  
  100. //// PERFORMANCE TESTS GUI HINT
  101. activategameui
  102. top_bar_message "[DOTA 2 BENCHMARK] Running performance tests - ETA: 2 minutes" 1
  103. sleep 5000
  104. gameui_hide
  105.  
  106. //// CONSOLE LOGO
  107. clear
  108. #color_cyan
  109. #echo_on
  110. echoln ;// DispatchAsyncEvent spew in the General channel is so lame.. killing it would also kill echoln.. question is why is set like that?
  111. #echo_on; echoln " _______ ______ ______ ________ __ ___ ___ __ ________ _______ ______ "; #echo_off
  112. #echo_on; echoln " | __ \ / \ | _ \ | | | | | \/ | | | | / | ____| | _ \ "; #echo_off
  113. #echo_on; echoln " | | | | | ,~~, | | |_) | `~~| |~~` | | | \ / | | | `~~~/ / | |__ | |_) | "; #echo_off
  114. #echo_on; echoln " | | | | AVEYO`S | | | | | ___/ | | | | | |\/| | | | / / | __| | / "; #echo_off
  115. #echo_on; echoln " | `~~` | | `~~` | | | | | | | | | | | | | / /~~~, | |____ | |\ \ "; #echo_off
  116. #echo_on; echoln " |_______/ \______/ |__| |__| |__| |__| |__| |__| /_______| |_______| |__| \__\ "; #echo_off
  117. echoln
  118. #echo_off
  119. #color_default
  120.  
  121. //// CONSOLE MACHINE INFO
  122. #color_yellow
  123. #echo_on
  124. echoln
  125. echoln -------------------------------------------------------------
  126. echoln [DOTA 2 BENCHMARK] Machine info
  127. echoln -------------------------------------------------------------
  128. echoln
  129. #echo_off
  130. #color_default
  131. log_flags Console -consoleonly | grep %; // allow sys_info to be logged to file
  132. #echo_on
  133. sys_info
  134. #echo_off
  135. log_flags Console +consoleonly | grep %
  136.  
  137. //// CONSOLE TEST LABEL
  138. #color_yellow
  139. #echo_on
  140. echoln
  141. echoln
  142. echoln -------------------------------------------------------------
  143. echoln [DOTA 2 BENCHMARK] Running performance tests - ETA: 2 minutes
  144. echoln -------------------------------------------------------------
  145. #echo_off
  146. #color_default
  147.  
  148. //// TEST ACTIVATE ( Valve's proposed method relies on cl_showfps - it should have lower overhead than D-OPTIMIZER V2 based Vprof )
  149. @panorama_show_fps 0
  150. fps_max 999
  151. cl_showfps 2
  152.  
  153. //// LIVE TEST 1. CURRENT USER SETTINGS [DEF] D-OPTIMIZER PRESETS: Potato Low OPTIMAL Med High Ultra @
  154. ////--------------------------------------------------------------------------------------------------------------------------------
  155. //dota_portrait_animate 1; // [1] Animate Portrait 0 0 1 1 1 1 O
  156. //r_deferred_additive_pass 0; //~ [1] Additive Light Pass 0 0 0 1 1 1 M
  157. //r_deferred_simple_light 1; // [1] World Lighting 0 1 1 1 1 1 L
  158. //r_ssao 0; // [0] Ambient Occlusion 0 0 0 0 0 1 U
  159. //r_dota_normal_maps 0; // [0] Normal Maps 0 0 0 1 1 1 M
  160. //r_dota_allow_parallax_mapping 0; // [0] Ground Parallax 0 0 0 0 1 1 H
  161. //dota_ambient_creatures 0; // [0] Ambient Creatures 0 0 0 0 0 1 U
  162. //dota_ambient_cloth 1; // [0] Ambient Cloth Simulation 0 0 1 1 1 1 M
  163. //r_grass_quality 1; // [0] Grass 0 0 1 2 3 4 O
  164.  
  165. //r_dota_fxaa 0; // [0] Anti-Aliasing 0 0 0 0 1 1 H
  166. //r_deferred_specular 1; // [0] Specular 0 0 1 1 1 1 O
  167. //r_deferred_specular_bloom 0; // [0] Specular and Light Blooms 0 0 0 1 1 1 M
  168. //dota_cheap_water 1; // [1] !High Quality Water 1 1 1 1 0 0 H
  169. //r_deferred_height_fog 1; // [1] Atmospheric Fog 0 0 1 1 1 1 O
  170. //r_dashboard_render_quality 1; // [1] High Quality Dashboard - - - - - - -
  171. //r_dota_allow_wind_on_trees 0; // [0] Tree Wind 0 0 0 0 1 1 H
  172.  
  173. //r_texture_stream_mip_bias 1; // [1] Texture Quality 2 1 1 1 0 0 L
  174. //cl_particle_fallback_base 4; //~ [2] Effects Quality 4 4 4 2 0 0 M
  175. //cl_globallight_shadow_mode 2; // [2] Shadow Quality 0 1 2 2 2 3 L
  176. //mat_viewportscale 1.0; // [1] Render Quality 0.8 0.9 1.0 1.0 1.0 1.0 L
  177. //fps_max 60.0f; // [120] Maximum frames per second 60 60 60 120 144 240 M
  178.  
  179. //// Reset live scene
  180. demo_resume
  181. dota_spectator_mode 3
  182. dota_spectator_hero_index 0
  183. demo_goto 102800 pause
  184. sleep 1000
  185. dota_spectator_hero_index 2
  186. stat_dropdown 0
  187. demo_resume
  188. #color_green
  189. #echo_on
  190. echoln LIVE TEST 1. CURRENT USER SETTINGS
  191. #echo_off
  192. #color_default
  193. //// Let new state settle.
  194. sleep 1000
  195. cl_resetfps
  196. sleep 30000
  197. #echo_on
  198. cl_printfps
  199. #echo_off
  200.  
  201. //// LIVE TEST 2. CURRENT USER SETTINGS
  202. //// Reset live scene
  203. demo_resume
  204. dota_spectator_mode 3
  205. dota_spectator_hero_index 0
  206. demo_goto 102800 pause
  207. sleep 1000
  208. dota_spectator_hero_index 2
  209. stat_dropdown 0
  210. demo_resume
  211. #color_green
  212. #echo_on
  213. echoln LIVE TEST 2. CURRENT USER SETTINGS
  214. #echo_off
  215. #color_default
  216. //// Let new state settle.
  217. sleep 1000
  218. cl_resetfps
  219. sleep 30000
  220. #echo_on
  221. cl_printfps
  222. #echo_off
  223.  
  224. //// STATIC SCENE SETUP
  225. demo_resume; demo_pauseatservertick 104081; demo_goto 102800
  226. dota_spectator_mode 3
  227. dota_spectator_hero_index 0
  228. sleep 1000
  229. dota_spectator_hero_index 5
  230. stat_dropdown 0
  231. sleep 30000
  232.  
  233. //// STATIC TEST 1. CURRENT USER SETTINGS
  234. #color_yellow
  235. #echo_on
  236. echoln
  237. echoln STATIC TEST 1. CURRENT USER SETTINGS
  238. #echo_off
  239. #color_default
  240. //// Let new state settle.
  241. sleep 1000
  242. cl_resetfps
  243. sleep 5000
  244. #echo_on
  245. cl_printfps
  246. #echo_off
  247.  
  248. //// STATIC TEST 2. BASELINE MEASUREMENT
  249. mat_viewportscale 1
  250. cl_globallight_shadow_mode 2
  251. dota_cheap_water 0
  252. r_drawparticles 1
  253. cl_particle_simulate 1
  254. r_drawblankworld 0
  255. r_drawpanorama 1
  256. #color_yellow
  257. #echo_on
  258. echoln STATIC TEST 2. BASELINE MEASUREMENT
  259. #echo_off
  260. #color_default
  261. //// Let new state settle.
  262. sleep 1000
  263. cl_resetfps
  264. sleep 5000
  265. #echo_on
  266. cl_printfps
  267. #echo_off
  268.  
  269. //// STATIC TEST 3. HALF RESOLUTION
  270. mat_viewportscale 0.5;//1
  271. cl_globallight_shadow_mode 2
  272. dota_cheap_water 0
  273. r_drawparticles 1
  274. cl_particle_simulate 1
  275. r_drawblankworld 0
  276. r_drawpanorama 1
  277. #color_yellow
  278. #echo_on
  279. echoln STATIC TEST 3. HALF RESOLUTION
  280. #echo_off
  281. #color_default
  282. //// Let new state settle.
  283. sleep 1000
  284. cl_resetfps
  285. sleep 5000
  286. #echo_on
  287. cl_printfps
  288. #echo_off
  289.  
  290. //// STATIC TEST 4. REDUCED DRAWING
  291. mat_viewportscale 1
  292. cl_globallight_shadow_mode 1;//2
  293. dota_cheap_water 1;//0
  294. r_drawparticles 1
  295. cl_particle_simulate 1
  296. r_drawblankworld 0
  297. r_drawpanorama 1
  298. #color_yellow
  299. #echo_on
  300. echoln STATIC TEST 4. REDUCED DRAWING
  301. #echo_off
  302. #color_default
  303. //// Let new state settle.
  304. sleep 1000
  305. cl_resetfps
  306. sleep 5000
  307. #echo_on
  308. cl_printfps
  309. #echo_off
  310.  
  311. //// STATIC TEST 5. PARTICLES DISABLED
  312. mat_viewportscale 1
  313. cl_globallight_shadow_mode 2
  314. dota_cheap_water 0
  315. r_drawparticles 0;//1
  316. cl_particle_simulate 0;//1
  317. r_drawblankworld 0
  318. r_drawpanorama 1
  319. #color_yellow
  320. #echo_on
  321. echoln STATIC TEST 5. PARTICLES DISABLED
  322. #echo_off
  323. #color_default
  324. //// Let new state settle.
  325. sleep 1000
  326. cl_resetfps
  327. sleep 5000
  328. #echo_on
  329. cl_printfps
  330. #echo_off
  331.  
  332. //// STATIC TEST 6. UI ONLY
  333. mat_viewportscale 1
  334. cl_globallight_shadow_mode 2
  335. dota_cheap_water 0
  336. r_drawparticles 1
  337. cl_particle_simulate 1
  338. r_drawblankworld 1;//0
  339. r_drawpanorama 1
  340. #color_yellow
  341. #echo_on
  342. echoln STATIC TEST 6. UI ONLY
  343. #echo_off
  344. #color_default
  345. //// Let new state settle.
  346. sleep 1000
  347. cl_resetfps
  348. sleep 5000
  349. #echo_on
  350. cl_printfps
  351. #echo_off
  352.  
  353. //// STATIC TEST 7. GAME ONLY
  354. mat_viewportscale 1
  355. cl_globallight_shadow_mode 2
  356. dota_cheap_water 0
  357. r_drawparticles 1
  358. cl_particle_simulate 1
  359. r_drawblankworld 0
  360. r_drawpanorama 0;//1
  361. #color_yellow
  362. #echo_on
  363. echoln STATIC TEST 7. GAME ONLY
  364. #echo_off
  365. #color_default
  366. //// Let new state settle.
  367. sleep 1000
  368. cl_resetfps
  369. sleep 5000
  370. #echo_on
  371. cl_printfps
  372. #echo_off
  373. r_drawpanorama 1
  374.  
  375. //// STATIC TESTS HELP
  376. #color_cyan
  377. #echo_on; echoln; echoln Interpreting the static test results (gdrewb-valve); #echo_off
  378. #echo_on; echoln * If HALF RESOLUTION FPS is significantly higher than BASELINE FPS you should reduce the Game Screen Render Quality; #echo_off
  379. #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
  380. #echo_on; echoln * If PARTICLES DISABLED FPS is higher than BASELINE FPS you should drop Effects Quality; #echo_off
  381. #echo_on; echoln * If GAME ONLY FPS is significantly higher than BASELINE FPS you should turn off High Quality UI; #echo_off
  382. #color_default
  383.  
  384. //// TEST FINISHED
  385. #color_yellow
  386. #echo_on
  387. echoln
  388. echoln -------------------------------------------------------------
  389. echoln [DOTA 2 BENCHMARK] Finished!
  390. echoln -------------------------------------------------------------
  391. #color_default
  392. grep . To save results into ; #color_cyan; grep . \dota 2 beta\game\dota\condumpxxx.txt ; #color_default;
  393. grep . file, enter ; #color_green; grep . CONDUMP ; #color_default; echoln; // multiple colors on a single line
  394. grep . To run benchmark again, enter short alias: ; #color_green; grep . BM; #color_default;
  395. echoln
  396. #echo_off
  397.  
  398. alias BM "exec_async benchmark.cfg"
  399. top_bar_message "[DOTA 2 BENCHMARK] Finished!" 0
  400. cl_showfps 0
  401. dota_spectator_mode 0
  402. dota_spectator_hero_index ""
  403. VT0; // Undo Video Tweaks
  404. disconnect
  405. sleep 5000
  406. top_bar_message 0
  407.  
  408. //// RESTORE CONSOLE SPEW
  409. log_flags Console +DoNotEcho | grep %
  410. log_flags Developer DeveloperConsole Panel Panorama PanoramaScript VScript VScriptDbg VScriptScripts CustomUI CustomGameCache CustomNetTable -DoNotEcho
  411. log_flags AnimationGraph AnimationSystem AnimGraphManager AnimResource Assert "BitBuf Error" BoneSetup Client "Combat Analyzer" CommandLine D3D Decals Demo DeveloperVerbose DotaGuide DOTAHLTVCamera -DoNotEcho
  412. 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
  413. log_flags HostStateManager IME InputService InputSystem InstantReplay LOADING MaterialSystem MeshSystem ModelCombiner modellib NavMesh NetworkClientService Networking "Networking Reliable" NetworkP2PService NetworkServerService -DoNotEcho
  414. log_flags NetworkService Particles ParticlesLib Physics PostProcessing PostProcessPipeline RenderPipelineDota RenderPipelineVr RenderService RenderSystem ResourceSystem SaveRestore SaveRestoreIO Scaleform "Scaleform IME" ScaleformAS -DoNotEcho
  415. log_flags ScaleformParse ScaleformScript SceneSystem SchemaSystem SchemaSystemUtils Server ServerLog SignonState SndEmitterSystem SndOperators SoundOperatorSystem SoundOpGameSystem SoundSystem SoundSystemLowLevel SpawnGroup SplitPacket -DoNotEcho
  416. log_flags SplitScreen Steam SteamDatagramClient SteamDatagramServer SteamUnifiedMessages ToneMapping ToolGameSimulation TypeManager Vfx VguiCallQueue VolumetricFog VProf VR WeekendTourney Workshop WorldRenderer -DoNotEcho
  417. log_flags ServerLog Workshop +DoNotEcho
  418. log_flags Console -DoNotEcho | grep %
  419.  
  420. //// RESTORE CVARS? ( ASSUMING IT SHOULD DO THAT, IT'S ONLY PARTIAL )
  421. pop_var_values
  422.  
  423. //// SHOW CONSOLE
  424. showconsole
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement