【发布时间】:2013-12-06 16:12:13
【问题描述】:
我的应用程序使用 C++/CLI 类,该类扩展 System.Windows.Forms.UserControl 并包装了原生 C++ 类,该类使用效果框架进行 Direct3d9 渲染。在我们将解决方案从 VS2010 SP1 升级到 VS2012 之前,一切都运行良好。
在生产机器上,应用运行良好,甚至比以前快一点。但是在调试时,我随机得到两个可能的错误之一:
- 对纹理的
LockRect调用将永远被阻止 - 我在
C:\Windows\SysWOW64\nvd3dum.dll版本9.18.13.3182中遇到访问冲突。
我使用的是 Windows 7 Ultimate,64 位,所有最新更新。我正在使用由双头 Nvidia GeForce 210 GPU 提供的双显示器设置(一个来自 VGA 输出,另一个来自带有 DVI 到 VGA 适配器的 DVI)。
由于这似乎是图形适配器的问题,我所能想到的就是将 Nvidia 驱动程序升级到最新版本。这只会使错误更加频繁,使我的开发箱无法用于调试。我的同事也有类似的环境,完全没有遇到过这个问题。
也许 GPU 有一些物理损坏?我该如何检查?还有其他解决此问题的提示吗?
【问题讨论】:
标签: winforms visual-studio-2012 nvidia windows-7-x64 direct3d9