direct3d - D3D9 64 位调试运行时

标签 direct3d direct3d9

为了调试 D3D9 应用程序,启用 DirectX 9 调试运行时至关重要。

(必须首先安装 June 2010 SDK。)

对于 64 位应用程序,可以通过选中使用 Direct3D 9 的调试版本DirectX 控制面板(64 位)中启用它。

问题:当控制面板关闭时,它会重置回零售,并且基本上不执行任何操作。

(32 位等效版本有效。)

最佳答案

Kjell Andersson found the answer :

The problem originates from a Windows 7 update that locked down the HKLM\Software\Microsoft\Direct3D registry key to a user named TrustedInstaller. This made the Administrator not having rights to update the settings in the registry key - thus not allowing us to switch to a debug version of Direct3D 9.

To fix this problem you have to follow this procedure:

  1. Using regedit as an Administrator, go to the HKLM\Software\Microsoft\Direct3D key.
  2. Select Permissions... from the context menu on the key.
  3. Press the Advanced button.
  4. Go to the Owner tab and select the Administrator as the owner. Apply the changes and close the Advanced settings.
  5. Back in the Premissions dialog select the Administrators group and check Full Control. Apply changes and close dialog.

You are now able to start the DirectX Control Panel from the DirectX SDK June 2010 and switch to the debug runtime.

关于direct3d - D3D9 64 位调试运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29944572/

相关文章:

c++ - DirectX 深度缓冲不起作用

c++ - 后面的 DirectX11 顶点被绘制在前面

c++ - 从 C++AMP 写入 DX11 后备缓冲区

shader - HLSL 6+ 统一变量和编译

c++ - Direct X 9 - 三角形没有出现

c++ - Direct2D如何打开共享纹理

c++ - LPD3DXFONT 不绘制

c# - Convert.ToDecimal 在加载 DirectX/Direct3D 时给出不同的结果

c++ - 为什么允许我从 const 成员函数调用 this->deviceContext->map()?