Pix基础介绍

微软DirectX自带profile工具,位于Microsoft DirectX SDK (June 2010)\Utilities\bin\x86\pixWin.exe

(DX11可能有些许不同)

NVIDIA PerfHUD (要求Nvidia显卡及DX9以上)和AMD PerfStudio(暂未发现亮点)

常见用例:

  • 查看渲染流程中生成的RenderTargetTexture。

    打开ObjectView窗口,将Type选择为Texture2D;Created by选择为Application;Format选择为对应格式;最后将Usage选择为RendetTarget

    pix_objView.JPG

    renderTargetTexDetail_pix.JPG

  • 对单个像素进行shader debug

    首先DX编译shader选项加入下面两项:D3D11_SHADER_DEBUG,D3D11_SHADER_SKIP_OPTIMIZATION

    单击某一FrameEvent,并选择Details面板的Rendet Tab,右键选择某一像素,

     pix_DebugPixel(1).png

  • 对DX Event进行计时,需选择下面选项。若在EventList view中,duration显示不完整,可点击Toolbar上的“时钟”图标来刷新。

    pix_SnapOption.JPG

  • 查看该次DrawEvent所用贴图;及Scissor Rectangle大小

    双击Draw function之前的蓝色device地址,这是右边details view将有相关的多个Tab出现。选择pixel state,就可查看所用贴图及对应Scissor Rectangle

  • 查找未释放的DX object

    单击最后的DX Release事件,并单击一次Details Render Tab以便刷新相应的DX objects;在Object View窗口中,分别选择“Alive”,“Destruction_Never”,“App Refs”为1.

  • 查找Z-Fighting原因;物品消失;

    依次查看DrawEvent,并单击Details Mesh Tab,看是否有在viewPort中重叠部分;

    或查看pre_vertShader、post_vertShader和viewport窗口,判断是Matrix错误还是viewport过近导致。

转载于:https://www.cnblogs.com/ActionFG/archive/2012/09/09/2677697.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值