很早以前使用电脑的时候,会遇到一种怪情况,平时电脑没问题,但是玩一些大型3D游戏的时候,会偶发性出现界面黑屏3-5秒,然后又可以正常游戏,最开始的时候这种情况并不频繁,因此我也没在意。
但是最近,这样的情况越来越频繁,并且有时候还会在桌面提示“显卡驱动停止响应并已成功恢复”,这时候我查询了一下Windows日志文件,也会看到有很多显卡错误提示。
通常Windows日志文件里的错误信息是“显示器驱动程序 nvlddmkm 已停止响应,并且已成功恢复”,有时还会出现另一个错误信息“无法找到来自源 nvlddmkm 的事件 id 13 的描述”。
软件修复的尝试
最开始,我以为是软件或驱动的问题,因为这种情况在不玩游戏的时候就不出现,我猜测是游戏驱动的问题,于是我采取了两步解决方案:重装显卡驱动,重装操作系统。
经过重装操作系统,更换显卡驱动,均无法解决,故障依旧存在。
这时候上网搜索了一下“显卡驱动停止响应并已成功恢复”这个关键词,看到网上有另一个修改注册表关闭TDR(超时检测与恢复)功能的解决方案,方案内容如下:
Windows 7中禁用TDR(超时检测与恢复)功能
Windows的TDR(超时检测与恢复/Timeout Detection and Recovery),是指当GPU因过热等原因挂掉时,GPU会重新配置,这个检测与重新配置的时间默认为2秒;这个功能在显示中是非常有用的,但有时候时间我们不需要,因此需要将这个功能禁用。
在注册表中进行TDR检测的值有两个:TdrLevel和TdrDelay
TdrLevel:
0:关闭,即不检测超时
3:检测超时(默认),然后使用TdrDelay的值
TdrDelay:
秒数,默认值为2
具体设置方法为:
打开注册表(运行中输入regedit),依次打开HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers,然后右键点击GraphicsDrivers,选择DWORD值,鼠标右键重命名右边窗口的“新值 #1”,键入“TdrDelay”作为名称,双击TdrDelay添加数值数据为“8”并单击“确定”,最后关闭注册表编辑器并重新启动计算机以使更改生效。
于是我按照上述操作修改了一下注册表,重启电脑后,麻烦更大了,这种偶发性的故障现在不仅仅只是黑屏了,还开始频繁出现死机、长时间卡顿等情况,电脑接近于无法正常使用了。
真不知道为什么会有人把这样的教程贴出来害人。
硬件修复的尝试
这时候开始怀疑是否是显卡的硬件问题,于是我找到显卡公司(影驰公司)的网站,找到客服电话,然后我就打电话给客服咨询这种情况,客服回复说,这种情况的原因,一种是电脑的内存有问题,一种是显卡的显存有问题,一定是硬件问题,不是软件问题。
按照这个新思路,我先尝试是否是内存的问题,于是将两片内存拔去一片,只留下一片内存,问题依旧,换另一片内存,还是问题依旧,于是确认应该就是显卡的显存问题了。
最后,我上淘宝购买了另一个型号类似的显卡,将新显卡换上去之后,发现终于没有问题了,之前几分钟就出现的故障,现在几个小时、几天都没出现,看看Windows日志文件,也没有任何错误信息了。
看来的确是显卡硬件的问题,上网搜索了半天都没找出正确答案,最终还是靠自己慢慢尝试才找到原因,看来以后有问题就上网搜索也不一定靠谱啊,要去咨询专家才有用。
如果你的显卡也出现这种问题,赶快去找显卡厂商去处理吧,这种情况十有八九都是显卡硬件出的故障。