Uwp 如何使用ID3D11Device5正确创建渲染目标
使用ID3D11Device5创建渲染目标视图的正确方法是什么?我有一些代码可以与ID3D11Device4一起使用,但是在调用Uwp 如何使用ID3D11Device5正确创建渲染目标,uwp,directx,direct3d,c++-cx,Uwp,Directx,Direct3d,C++ Cx,使用ID3D11Device5创建渲染目标视图的正确方法是什么?我有一些代码可以与ID3D11Device4一起使用,但是在调用CreateRenderTargetView时升级它失败,导致访问冲突。此崩溃似乎发生在Intel graphics和AMD graphics PC上的图形驱动程序中 我能够重现该问题的一个快速方法是: 在Visual Studio 2017中创建新的“DirectX 11和XAML应用程序(通用Windows)” 在pch.h中,将d3d11_3.hinclude更改
CreateRenderTargetView
时升级它失败,导致访问冲突。此崩溃似乎发生在Intel graphics和AMD graphics PC上的图形驱动程序中
我能够重现该问题的一个快速方法是:
pch.h
中,将d3d11_3.h
include更改为d3d11_4.h
DeviceResources.h
中,将m_d3dDevice
的类型从Microsoft::WRL::ComPtr
更改为Microsoft::WRL::ComPtr
D3D11\u CREATE\u DEVICE\u debug
标志使用调试层。崩溃似乎不会发生在发布版本中编辑:同样的行为似乎也发生在同等的桌面Windows应用程序以及硬件设备上。在参考设备上,
E_INVALIDARG
从CreateRenderTarget1
返回,我将首先在控制台应用程序中测试代码,以检查拒绝访问错误是否与UWP沙箱相关。@MehrzadChehraz感谢您的建议。我刚刚试过,在一个标准的桌面应用程序中也会发生这种情况。我从零开始开发一个标准的桌面应用程序时也遇到了同样的错误。CreateRenderTargetView1在使用ID3D11Device5进行调试时崩溃,但在ID3D11Device4中不会崩溃,在发布时也不会崩溃。我会先在控制台应用程序中测试代码,以检查拒绝访问错误是否与UWP沙盒相关。@MehrzadChehraz感谢您的建议。我刚刚试过,在一个标准的桌面应用程序中也会发生这种情况。我从零开始开发一个标准的桌面应用程序时也遇到了同样的错误。使用ID3D11Device5时,CreateRenderTargetView1在调试时崩溃,但使用ID3D11Device4时不会崩溃,在发布时也不会崩溃。