
下载 Vtune
- 官网下载,现在被整合到 oneAPI 中,官网 或者到网盘下载老版本的 Vtune
- 官网下载 “w_oneapi_vtune_p_2021.9.0.546_offline.exe”,用于分析运行结果,也可以直接运行该程序跑结果
安装 Vtune
GUI 界面下安装,过程中如果有哪些对应的程序未安装,先安装好对应的程序之后重新运行下面的 GUI 安装程序
|
|
打包 DS Linux 版本
-
运行 UnityBuild ds,File -> Build Setting 把 Server Build 跟 Development Build 的选项勾上
-
Build -> BuildLinuxDs
-
build 完成之后进入 ds 目录,把 “Library\il2cpp_cache\linkresult_459BAAD390CAFC6CE1569AB826649530” 里面的 GameAssembly.so 文件放到 Build 好的版本目录替换同名文件,替换后的是对应的符号文件,之后运行的堆栈信息里面才会有符号信息能看到具体的函数名称那些,如果上面目录找不到符号文件,可以用 Evenything 工具搜索 ds 目录里面的 GameAssembly.so 文件,符号文件比编译的文件要大许多
或者把 “il2cpp_9c59755d_122779_122757\ds_BackUpThisFolder_ButDontShipItWithYourGame\GameAssembly.debug” 的文件复制到 GameAssembly.so 同级目录
跑数据
-
运行程序,房间大厅正常进入跑开局跑程序,ds 启动后查看 ds 的进程号
-
打开 Vtune 进行监控,执行
|
|
其中 “59257” 就是对应的 ds 进程号,上面的命令只需要修改进程号即可,其他参数不变
- 当局游戏跑完之后可以按 CTRL-C 结束,或者在别的窗口执行结束,没主动结束的话待进程关闭的时候也会自动结束
|
|
- 收集结束后会有 “vtune: Using result path /opt/intel/vtune_profiler_2020.2.0.610396/bin64/r002hs” 日志,该目录下面的 r002hs 目录就是程序跑的结果,把此目录文件 copy 到 Windows 进行分析
分析结果
在 Intel VTune Profiler 工具中 Open Result,打开上面导出的目录的 r002hs.vtune 文件,加载分析结果后即可分析具体的数据,其中 Top-down Tree 页签下面的数据可以看出各函数的 CPU 占比数据。
