我正在使用桌面复制API从一个GPU捕获桌面并需要将纹理(位于GPU内存中)复制到另一个GPU。为此,我有一个捕获线程,它获取桌面图像,然后使用ID3D11DeviceContext :: CopyResource将其复制到分配在同一设备上的暂存资源中。然后,我使用Read映射该暂存资源,使用WriteDiscard映射目标动态资源(在其他设备上创建),并复制数据。在渲染线程上,我会从动态纹理到最终渲染目标进行ID3D11DeviceContext :: CopyResource。
这个方法是可行的,但是我会在一段时间后(通常在30秒内)收到nvwgf2umx.dll(异常代码:0xc0000005)的随机崩溃。两个设备都没有使用SingleThreaded创建标志创建。我进行了一些研究,使用动态纹理似乎是最好的方法。
您认为是什么导致了崩溃?可能是Nvidia驱动程序特定的错误吗?