微软今天推出了win10系统的PIX游戏调试工具,它可以即时捕获GPU、时序、调用图、内存分配等信息,功能很强大,当然它需要的配置也相对有点高,要32GB内存和最新版本的win10系统,有兴趣的还是可以体验下的。
Microsoft PIX使用说明
安装好后的软件界面
电脑信息一目了然
时间设置
软件的关于选项
设置功能
Microsoft PIX配置要求
安装最新更新的Win10一周年更新正式版14393
硬件配置推荐为32GB内存
支持Direct3D 12的显卡
需要最新的驱动程序
Microsoft PIX功能
GPU捕获:调试和分析Direct3D 12图形渲染性能
时序捕获:了解性能和全部CPU和GPU在游戏中的工作线程情况
功能概述捕获:评估关于每个功能运行和每个功能被调用频率的信息
调用图捕获:追踪每个功能的执行情况
内存分配捕获:提供游戏内存分配情况
PIX使用步骤
第1步是通过PIX来启动想要调试的程序,并在程序启动后,按工具设置来截取某个画面所使用的Direct3D指令;第2步是在截取画面后关闭绘图程序,PIX接下来应该会切换到回放Direct3D指令的模式。
PIX先把某个画面中的Direct3D绘图指令截取下来,再把每个指令都视为1个断点,程序员可以从Event窗口中选择其中指令,再通过Render窗口来查看绘图的结果。Render窗口显示的是,从这个画面的起点开始一直运行到说选择断点为止的3D绘图结果。
PIX可以查看程序中所使用的贴图和模型数据。在Event窗口中找到相对应的SetTexture函数调用,双击函数的第2个参数,即蓝色文字的参数,右下方的窗口中就会显示所使用的贴图。如果要查看模型,选择Event窗口中画出模型的DrawPrimitive和DrawIndexedPrimitive函数调用(单击工具Event窗口最上边的按钮D也可以上下移动到函数调用),再在Detail窗口中选择Mesh,窗口中就会显示坐标转换前和转换后的的模型,还会显示出一个列出所有的顶点数据的列表。双击其中1个顶点,就可以进入Vertex Shader的调试模式。其中查看坐标转换前后的模型非常实用,马上可以看出加载模型是否正确,以及VS处理后是否正确,显示是否超出。Mesh中PreVS的顶点为原始输入坐标值,而PostVS的顶点为处理后的坐标值,即原始输入坐标值XWorld_View_Proj矩阵=处理后的坐标值,其中矩阵为世界,视图,投影三个矩阵的乘积。
调试Pixel Shader。在Detail窗口的Render模式,在要调试的像素上右击,弹出一个快捷菜单,选择菜单上的Debug This Pixel选项,进入Pixel Shader的调试模式。
具体的调试操作可以查阅SDK.
Visual Studil也提供了Shader的调试模式,不过不太实用,Microsoft也没有再对它更新。PIX所提供的调试功能比较完整,也比较实用。
OpenGL调试工具有glslDevil,GLIntercept和gDEBugger等。