是否可以在绘制后查看后缓冲区?

时间:2011-11-24 10:12:01

标签: visual-c++ directx direct3d

使用断点,我试图弄清楚使用DirectX缓冲区的复杂应用程序的工作情况 我看到很多地方Blt命令绘制到后面的缓冲区/表面,我需要知道它在代码中的那个点究竟是什么。

不幸的是,我只能在绘制整个帧并翻转缓冲区时才能看到绘制的内容。

在绘制背面缓冲区/表面时是否有办法查看?在它被翻转之前?

1 个答案:

答案 0 :(得分:6)

您可以使用PIX for Windows来调试GPU中的渲染问题或性能瓶颈。 PIX是一个分析器,可以为您提供有关渲染时每个步骤发生情况的详细信息。

因此,它允许您在每次Direct3D调用时查看后台缓冲区中呈现的内容。您还可以在最终图像中选择给定像素,并查看该像素历史记录中发生的事情(例如,应用于它的着色器)。

以下是一些教程:

http://blogs.msdn.com/b/manders/archive/2006/12/15/a-painless-introduction-to-pix-for-windows.aspx

http://www.garagegames.com/community/blogs/view/14251

http://www.youtube.com/watch?v=-3PISvNTeB0&feature=player_embedded