intel HD和nvidia GPU相同的directx应用程序相同功能级别之间的错误

时间:2017-11-14 15:32:08

标签: c# directx gpu sharpdx

我的应用程序运行正常或我想在我的本地开发pc上使用intel hd。我通过设备创建强制功能级别(10_1)与目标计算机相同。

然而,如果我在我的英特尔HD上运行它,一切都很好并且正常工作,但一段时间后在目标上崩溃并且表现不同。 我添加了使用CopySubresourceRegion(...)从一个渲染目标复制到另一个渲染目标的代码。这似乎已经表现得很差,直到它崩溃。 也许这与这个问题有关。我想知道,因为我认为,因为我使用相同的运行时和功能级别,它应该表现相同。

如果我的问题是一般性的,我可以添加细节,但是现在我问你是否知道可能导致这种行为的原因而且我不知道了。我还是DirectX编程的新手。

e:这与线程有关吗?

1 个答案:

答案 0 :(得分:0)

修复了启用调试层的目标远程调试问题。

错误确实是由CopySubresourceRegion(...)引起的。 错误在本地输出(intel hd)和远程(nvidia)。但是 当这个错误出现并崩溃(删除)时,nvidia的行为似乎有所不同。

此链接还说明了有关CopyResourceRegion(...)的内容以及导致此问题的未定义行为:

https://msdn.microsoft.com/de-de/library/windows/desktop/jj200584(v=vs.85).aspx

修复是简单地处理我的复制区域参数中的边缘情况,而不是依赖于未定义的行为。

感谢Chuck Walbourn暗示要解决这个问题。