开业于2004年,诚信服务几万客户
翔意数码淘宝店:xynbnb.taobao.com
全国客服电话:010-59000667
地址:北京东城区东兴隆街56号北京商界A座512
ThinkPad产品专业客服 苹果产品专业客服
查看: 12729|回复: 29

【显示器驱动程序已停止响应,并且已恢复】解决方法

  [复制链接]
发表于 2010-1-28 14:31 | 显示全部楼层 |阅读模式
本帖最后由 admini 于 2010-1-28 16:37 编辑

我的机器是T400-AJ1,装了huanghuang给的win7后,总是出现这个问题(开始我怀疑被huanghuang骗了,hoho~~~~)。

问了旁边许多的朋友和同事,都没有碰到这个问题,后来我找到一个方法,虽说治标不治本吧,但是我可以用win7了,那就是使用【Windows 7 Basic】主题,但是windows7华丽的界面就远离我而去了,Aero主题才是windows7呀。

随后我又冒着危险用system update刷了bios3.09windows7的显卡问题还是没有解决。最后我找到了一个方法,就是关闭显卡驱动中的【启用power play】选项,我也不知道这个选项有什么大用途,个人感觉是和节电模式有关吧。

关掉后彻底远离了【显示器驱动程序已停止响应,并且已恢复】问题,但是有些朋友没有去掉这个选项并没遇到我所遇到的问题,使用windows7一切良好,要问为啥,这个我就解答不了了。

这个更权威了,2楼见图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

x

评分

参与人数 1翔币 +25 收起 理由
huangwhuang + 25 8错

查看全部评分

 楼主| 发表于 2010-1-28 14:36 | 显示全部楼层
发送错误到微软,微软解决方式如下:(全英文)
Event ID 4101 — Display Driver Timeout Detection and RecoveryUpdated: January 6, 2009

Applies To: Windows Server 2008 R2

Windows Vista and Windows Server 2008 can detect when the graphics hardware or device driver take longer than expected to complete an operation. When this happens, Windows attempts to preempt the operation, and restore the display system to a usable state by resetting the graphics adapter. Typically, the only noticeable effect from this is a flicker of the display due to the reset and subsequent screen redraw. For more information, see "Timeout Detection and Recovery of GPUs through WDDM" at http://go.microsoft.com/fwlink/?linkid=77531 on the Microsoft Web site.

Event Details
Product:  Windows Operating System
ID:  4101
Source:  Display
Version:  6.1
Symbolic Name:  DISPMSG_NOTIFY_USER_TDR_RECOVERY_TEXT
Message:  Display driver %1 stopped responding and has successfully recovered.

Resolve
Check Windows Update for a New Display Driver
Windows detected that the video adapter hardware on your computer has taken longer than expected to complete a requested operation. Windows has recovered and reset the graphics hardware.

This event is for information purposes only, and no action is typically required. If this problem occurs often, use Windows Update to check if a new display driver for your display adapter is available. Some older graphics applications might display a black screen or a black section of the screen, and might need to be restarted.

To perform this procedure, you must be a member of the local Administrators group, or you must be delegated the appropriate authority.

To start Windows Update
1.Click Start.
2.Click All Programs.
3.Click Windows Update.
4.In the upper left corner of the Windows Update page, click Check for updates.
5.After the check has completed, click View available updates.
If an update is available for your display adapter, select it, and then install it.
If no updates are currently available, check back periodically to see if your vendor has supplied a new device driver.
Verify
Confirm that you can see the desktop and your applications as expected.

Timeout Detection and Recovery of GPUs through WDDM
Updated: April 27, 2009

On This Page
Introduction
Timeout Detection and Recovery
Windows Vista SP1 Update
Error Messaging
Registry Keys
Next Steps
Resources

Introduction
One of the most common stability problems in graphics is when the system appears completely "frozen" or "hung" while processing an end-user command or operation. Users generally wait a few seconds and then reboot the system by pressing the Power button. Usually the graphics processing unit (GPU) is "busy" processing intensive graphical operations, typically during gameplay. This results in nothing being updated on the screen, thus appearing to the user that the system is frozen.

This paper briefly describes the timeout detection and recovery (TDR) process in Windows Vista. It also documents the registry controls so developers can easily debug problems.

What's New for Windows Vista SP1
Changes for Windows Vista SP1 to improve user experience in cases of frequent and rapidly occurring GPU hangs. New registry keys to support these changes.

Top of page
Timeout Detection and Recovery
Windows Vista attempts to detect these problematic hang situations and recover a responsive desktop dynamically. In this process, the Windows Display Driver Model (WDDM) driver is reinitialized and the GPU is reset. No reboot is necessary, which greatly enhances the user experience. The only visible artifact from the hang detection to the recovery is a screen flicker, which results from resetting some portions of the graphics stack, causing a screen redraw. Some older Microsoft DirectX applications may render to a black screen at the end of this recovery. The end user would have to restart these applications.

The following is a brief overview of the TDR process:

1.
Timeout detection: The Video Scheduler component of the Windows Vista graphics stack detects that the GPU is taking more than the permitted quantum time to execute the particular task and tries to preempt this particular task. The preempt operation has a "wait" timeout—the actual "TDR timeout." This step is thus the "timeout detection" phase of the process. The default timeout period in Windows Vista is 2 seconds. If the GPU cannot complete or preempt the current task within the TDR timeout, then the GPU is diagnosed as hung.

2.
Preparation for recovery: The operating system informs the WDDM driver that a timeout has been detected and it must reset the GPU. The driver is told to stop accessing memory and should not access hardware after this time. The operating system and the WDDM driver collect hardware and other state information that could be useful for post-mortem diagnosis.

3.
Desktop recovery: The operating system resets the appropriate state of the graphics stack. The Video Memory Manager component of the graphics stack purges all allocations from video memory. The WDDM driver resets the GPU hardware state. The graphics stack takes the final actions and restores the desktop to the responsive state. As mentioned earlier, some older DirectX applications may now render just black, and the user may be required to restart these applications. Well-written DirectX 9Ex and DirectX 10 applications that handle "Device Remove" continue to work correctly. The application must release and then recreate its Microsoft Direct3D device and all of its objects. DirectX application programmers can find more information in the Windows SDK.


Top of page
Windows Vista SP1 Update
Minor changes were made in Windows Vista SP1 to improve the user experience in cases of frequent and rapidly occurring GPU hangs. Repetitive GPU hangs indicate that the graphics hardware has not recovered successfully. In these instances, the system must be shut down and restarted to fully reset the graphics hardware. If the operating system detects that six or more GPU hangs and subsequent recoveries occur within 1 minute, then the following GPU hang is treated as a system bug check.

Top of page
Error Messaging
Throughout the process of GPU hang detection and recovery, the desktop is unresponsive and thus unavailable to the user. In the final stages of recovery, a brief screen flash occurs that is similar to the one when the screen resolution is changed. After the desktop has been successfully recovered, the following informational message appears to the user.


The message is also logged in the Windows Vista Event Viewer. Diagnosis information is collected in the form of a debug report that is returned to Microsoft through the Online Crash Analysis (OCA) mechanism if the user opts in to provide feedback.

Top of page
Registry Keys
The following registry keys are documented for testing purposes only. These registry keys should not be manipulated by any applications outside targeted testing or debugging.

The TDR-related registry keys are located under HKLM\System\CurrentControlSet\Control\GraphicsDrivers.

• TdrLevel: REG_DWORD. The initial level of recovery. The possible values are:

• TdrLevelOff (0). – Detection disabled.

• TdrLevelBugcheck (1) – Bug check on detected timeout, for example, no recovery.

• TdrLevelRecoverVGA (2) – Recover to VGA (not implemented).

• TdrLevelRecover(3) – Recover on timeout. This is the default value.


• TdrDelay: REG_DWORD. The number of seconds that the GPU is allowed to delay the preempt request from the scheduler. This is effectively the timeout threshold. The default value is 2.

• TdrDdiDelay: REG_DWORD. The number of seconds that the operating system allows threads to leave the driver. After a specified time, the operating system bug checks the system with the code VIDEO_TDR_FAILURE (0x116). The default value is 5.

• TdrTestMode: REG_DWORD: Internal test usage.

• TdrDebugMode: REG_DWORD: The debugging-related behavior of the TDR process.

• TDR_DEBUG_MODE_OFF (0) breaks to kernel debugger before the recovery to allow investigation of the timeout.

• TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) ignores any timeout.

• TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) recovers without break into the debugger. This is the default value.

• TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) recovers even if some recovery conditions are not met (for example, recovers on consecutive timeouts).


• TdrLimitTime: REG_DWORD (Windows Vista SP1 and later versions only): The default time within which a "TdrLimitCount" number of TDRs are allowed without crashing the system.

• TdrLimitCount: REG_DWORD (Windows Vista SP1 and later versions only): The default number of TDRs (0x117) that are allowed in "TdrLimitTime" without crashing the system.


Top of page
Next Steps
Graphics hardware vendors:

• Ensure that graphics operations (that is, DMA buffer completion) take no more than 2 seconds in end-user scenarios such as productivity and gameplay.


Graphics software vendors:

• Ensure that the DirectX graphics application does not run at a low frames per second (FPS) rate. As the FPS decreases, the likelihood of the GPU getting reset increases. If the application is running at 10 FPS or lower and a complex graphics operation is about to start, then a flush can be inserted.

• For running benchmark tests on low-end GPUs, use the aforementioned registry keys that control the TDR timeout. Remember that they should not be used in production systems because it would affect overall system stability and robustness. Use these keys only as a final solution.


System manufacturers:

• Work with the graphics hardware vendor to diagnose the TDR debug reports.

• Remember that any system that uses the aforementioned TDR registry keys to change the default values is a Windows Logo Program violation.
 楼主| 发表于 2010-1-28 14:37 | 显示全部楼层
微软通过关闭组册表的制动恢复重置显卡功能 来避免黑闪

Registry Keys
The following registry keys are documented for testing purposes only. These registry keys should not be manipulated by any applications outside targeted testing or debugging.

The TDR-related registry keys are located under HKLM\System\CurrentControlSet\Control\GraphicsDrivers.

• TdrLevel: REG_DWORD. The initial level of recovery. The possible values are:

• TdrLevelOff (0). – Detection disabled.

• TdrLevelBugcheck (1) – Bug check on detected timeout, for example, no recovery.

• TdrLevelRecoverVGA (2) – Recover to VGA (not implemented).

• TdrLevelRecover(3) – Recover on timeout. This is the default value.


• TdrDelay: REG_DWORD. The number of seconds that the GPU is allowed to delay the preempt request from the scheduler. This is effectively the timeout threshold. The default value is 2.

• TdrDdiDelay: REG_DWORD. The number of seconds that the operating system allows threads to leave the driver. After a specified time, the operating system bug checks the system with the code VIDEO_TDR_FAILURE (0x116). The default value is 5.

• TdrTestMode: REG_DWORD: Internal test usage.

• TdrDebugMode: REG_DWORD: The debugging-related behavior of the TDR process.

• TDR_DEBUG_MODE_OFF (0) breaks to kernel debugger before the recovery to allow investigation of the timeout.

• TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) ignores any timeout.

• TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) recovers without break into the debugger. This is the default value.

• TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) recovers even if some recovery conditions are not met (for example, recovers on consecutive timeouts).


• TdrLimitTime: REG_DWORD (Windows Vista SP1 and later versions only): The default time within which a "TdrLimitCount" number of TDRs are allowed without crashing the system.

• TdrLimitCount: REG_DWORD (Windows Vista SP1 and later versions only): The default number of TDRs (0x117) that are allowed in "TdrLimitTime" without crashing the system.
 楼主| 发表于 2010-1-28 14:37 | 显示全部楼层
微软建议用户和硬件开发商的内容

Next Steps
Graphics hardware vendors:

• Ensure that graphics operations (that is, DMA buffer completion) take no more than 2 seconds in end-user scenarios such as productivity and gameplay.


Graphics software vendors:

• Ensure that the DirectX graphics application does not run at a low frames per second (FPS) rate. As the FPS decreases, the likelihood of the GPU getting reset increases. If the application is running at 10 FPS or lower and a complex graphics operation is about to start, then a flush can be inserted.
【请注意WIN7在1920*1080情况下再开游戏和高清,貌似很容易满足这个条件】

• For running benchmark tests on low-end GPUs, use the aforementioned registry keys that control the TDR timeout. Remember that they should not be used in production systems because it would affect overall system stability and robustness. Use these keys only as a final solution.


System manufacturers:

• Work with the graphics hardware vendor to diagnose the TDR debug reports.

• Remember that any system that uses the aforementioned TDR registry keys to change the default values is a Windows Logo Program violation.
 楼主| 发表于 2010-1-28 14:39 | 显示全部楼层
最后中文的解决办法,哇哈哈,前面的英文搞死人啦

修改注册表项
位于 HKLM\System\CurrentControlSet\Control\GraphicsDrivers
TdrLevel:REG_DWORD。值为:

TdrLevelOff (0) - 禁用检测。

以上方法关闭了Windows Vista 中的超时检测和恢复 (TDR) 。可以解决问题。但是在某些情况下。TDR可以避免因显卡问题而造成的死机。关掉它有利也有弊。



也可以修改TDR的响应时间。具体的信息可以参考

Timeout Detection and Recovery of GPUs through WDDM

http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\Configuration
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\Connectivity
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\DCI
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\UseNewKey

每个下面新建一个TdrLevel:REG_DWORD 键值为0
 楼主| 发表于 2010-1-28 14:40 | 显示全部楼层
下面还有技术介绍

什么是VPU Recover呢?不妨先从安装操作系统谈起。对安装好的纯净系统来说,需要做的第一件事情就是安装驱动程序。但是安装驱动程序也分先后顺序。一般首先安装主板芯片组驱动,安装后,系统的总线比如PCI-Express就被驱动起来了;第二个需要安装驱动程序的配件就是显卡;而后就是主板等相关配件驱动的安装。可以看出,显卡驱动程序的优先级和重要性仅次于主板芯片组。但是就像应用程序会崩溃一样,驱动程序也会崩溃!对于这样底层的驱动程序异常带来的后果,也许你就会见到习以为常的老面孔—“蓝屏”。

        在意识到这个问题后,ATI显卡的驱动就一直支持VPU Recover功能。这项功能可以在显卡停止响应ATI的驱动程序命令时,重置图形芯片,从而使图形芯片重新响应驱动程序的命令。大多数情况下驱动程序可以用VPU Recover功能重置图形芯片,无需重启,从而有效地降低了由于显卡硬件故障导致系统崩溃的几率,最大限度地保证了系统的稳定运行。可以看出,原来是显卡可能存在故障,所以系统会弹出VPU Recover重置窗口,阻止显卡继续运行3D游戏等大型程序,从而避免蓝屏或显卡损坏等故障。

什么是VPU Recover呢?不妨先从安装操作系统谈起。对安装好的纯净系统来说,需要做的第一件事情就是安装驱动程序。但是安装驱动程序也分先后顺序。一般首先安装主板芯片组驱动,安装后,系统的总线比如PCI-Express就被驱动起来了;第二个需要安装驱动程序的配件就是显卡;而后就是主板等相关配件驱动的安装。可以看出,显卡驱动程序的优先级和重要性仅次于主板芯片组。但是就像应用程序会崩溃一样,驱动程序也会崩溃!对于这样底层的驱动程序异常带来的后果,也许你就会见到习以为常的老面孔—“蓝屏”。

        在意识到这个问题后,ATI显卡的驱动就一直支持VPU Recover功能。这项功能可以在显卡停止响应ATI的驱动程序命令时,重置图形芯片,从而使图形芯片重新响应驱动程序的命令。大多数情况下驱动程序可以用VPU Recover功能重置图形芯片,无需重启,从而有效地降低了由于显卡硬件故障导致系统崩溃的几率,最大限度地保证了系统的稳定运行。可以看出,原来是显卡可能存在故障,所以系统会弹出VPU Recover重置窗口,阻止显卡继续运行3D游戏等大型程序,从而避免蓝屏或显卡损坏等故障。

在Windows XP以前(包含Windows XP)的操作系统中,可以在ATI的催化剂驱动控制面板(CATALYST Control Center)中找到“VPU Recover”页面,并勾选上“Enable VPU Recover”就可以开启该功能。
遇到图形处理器停止响应的时候,该功能就会重新载入显示驱动,从而使系统不需要重启就可以恢复正常。但是在Windows Vista/Server 2008上,由于Windows内核自带类似功能,所以就不需要VPU Recover功能。正因为此,Windows Vista能够支持底层驱动程序重载功能,进而避免了驱动崩溃的尴尬。



        由于Windows XP和Windows Vista在支持驱动重载的实现方式不同(前者通过ATI驱动实现,后者通过系统内核级WDDM实现),因此当出现VPU Recover重置时,系统报错的方式也不一样。WindowsXP下会弹出一个ATI VPU Recover的警告窗口,而在Windows Vista下所有驱动程序的重置都会在状态栏中弹出一个气泡作为告警,并提示“Display driver stopped responding and has recovered”(显示驱动停止响应,已重置)。



        什么是WDDM
        WDDM即Windows Desktop Driver Model,是微软为Vista推出的新版本图形驱动程序标准。WDDM可在系统崩溃后初始化显卡,而Windows XP 在系统崩溃后可能会损坏显卡驱动。

Radeon HD 4800系列显卡故障浮出水面

        目前用户反映最容易出现VPU Recover重置的是Radeon HD 4800系列显卡,使用单槽散热器、核心频率为625MHz的Radeon HD 4850则首当其冲。例如笔者2008年7月初购买的Radeon 4850就出现了这个问题—运行3D游戏一切正常,但是播放高清视频就会出现VPU Recover重置,甚至蓝屏死机!



        随后发布的Radeon HD 4870虽然核心频率比Radeon HD 4850高,且使用了散热性能更好的纯铜加热管的双槽散热器,但依旧可能出现类似的问题。比较明显的症状是在运行部分3D游戏时,会弹出VPU Recover重置窗口,并且无法通过FurMark测试(注:一款基于OpenGL 2.0的测试软件,能够严格地测试显卡稳定性。)。

究因排错

        为了证实笔者对出现VPU Recover重置原因的判断,笔者咨询了AMD和国内知名显卡厂商,都没有得到明确的答复。因为如果产品出现VPU Recover重置的错误报告,厂商直接提交给AMD,而错误的原因厂商一般一无所知。

        不过笔者还是从微软资料库中找到出现VPU Recover的原因。通过参阅“Timeout Detection and Recovery of GPUs through WDDM”这篇文档(http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx)可以发现,微软把ATI VPU Recover功能称之为Timeout Detection and Recovery(以下缩写为TDR),实现过程分为三步:

        1.超时检测:当Windows Vista视频调度部分的图形堆栈侦测到GPU执行特定任务的时间超过Windows Vista允许的两秒时,就会试图终止这项任务,GPU就会被认为挂起。

        2.准备恢复:操作系统通知WDDM驱动程序,发现一个超时程序时必须重置图形处理器。然后驱动程序停止访问显存,同时停止访问硬件。

        3.桌面恢复:操作系统将图形堆栈恢复到正常状态,显存管理器组件的图形堆栈清除所有显存。在WDDM驱动程序重置GPU的硬件状态前,图形堆栈做出最后动作并恢复桌面。

        由此可以推断,ATI VPU Recover功能也进行了类似的操作。通过对这一系列操作的分析,就可以制定出现VPU Recover重置之后排错的步骤。首先,用户可尝试更新驱动以确保驱动和操作系统、应用程序没有兼容性问题;接下来,如果是Windows XP用户可以在ATI驱动控制面板中取消勾选“Enable VPU Recover”。而对于Windows Vista用户则稍微复杂一些,需要修改注册表禁用TDR。

        具体步骤是在“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers”中添加名为“TdrLevel”的DWORD值,键值为“0”;如果用户使用780G这样的整合主板,那么可尝试刷新显卡BIOS;如果是独立显卡,特别是对显卡进行了超频,或者使用的是公版单槽散热器,可以尝试用FurMark测试稳定性——只需要将测试模式(Run Mode)由“Benchmarking”改为“Stability Test”,并用GPU-Z这样的软件来监控GPU温度。如果GPU最高温度超过了80摄氏度,就应该考虑改善散热条件。

        对于BIOS版本比较老的Radeon HD 4800系列显卡来说,如果核心温度过高,可以考虑刷新显卡BIOS。后续推出的BIOS都是降温版本,目的在于使显卡散热器风扇的自动温控更合理。另外,电源额定功率不足容易造成显卡供电不足,导致VPU Recover问题出现。特别是显卡在2D状态显示正常,而一旦运行3D游戏则出现VPU Recover重置时,电源供电不足占了极大的可能性。如果是这种情况,可以考虑更换额定400W左右的电源。
发表于 2010-1-28 14:47 | 显示全部楼层
拆楼~
发表于 2010-1-28 14:49 | 显示全部楼层
原来木有了哇。
 楼主| 发表于 2010-1-28 14:53 | 显示全部楼层
没了,我设置了一下注册表,去把这个勾儿勾上看看
发表于 2010-1-28 14:56 | 显示全部楼层
看完1楼我就汗了。
 楼主| 发表于 2010-1-28 14:57 | 显示全部楼层
我设置回来了,测试一下这个注册表方法~~~~
 楼主| 发表于 2010-1-28 14:57 | 显示全部楼层
看完1楼我就汗了。
huangwhuang 发表于 2010-1-28 14:56

你给的破win7
 楼主| 发表于 2010-1-28 15:05 | 显示全部楼层
10分钟没黑,看来改注册表也是有效地

huanghuang你看看你的那几个注册表键值有么???
我的是没有的
发表于 2010-1-28 15:05 | 显示全部楼层
你给的破win7
admini 发表于 2010-1-28 14:57
你为啥不上微软去下载?
 楼主| 发表于 2010-1-28 15:12 | 显示全部楼层
我的网速哪儿有你的快挖
发表于 2010-1-28 16:13 | 显示全部楼层
好少的主题
 楼主| 发表于 2010-1-28 16:15 | 显示全部楼层
使用1个多小时,没出现黑屏
发表于 2010-1-28 16:18 | 显示全部楼层
使用1个多小时,没出现黑屏
admini 发表于 2010-1-28 16:15



    使用2年没出现黑屏
 楼主| 发表于 2010-1-28 16:37 | 显示全部楼层
黑屏一次,继续观察,看来改注册表的方法也不保险
发表于 2010-1-28 16:38 | 显示全部楼层
黑屏是个啥状态?
 楼主| 发表于 2010-1-28 16:55 | 显示全部楼层
闪一下,然后屏幕最大亮度

又闪了一下,我还是用我的方法吧
发表于 2010-1-28 16:59 | 显示全部楼层
我早上也黑屏了。

登陆之后,整个屏幕是黑的,只有一个鼠标在上面。
 楼主| 发表于 2010-1-28 17:01 | 显示全部楼层
不是一个概念。。。。
发表于 2010-1-28 20:27 | 显示全部楼层
苦命的孩子--
 楼主| 发表于 2010-1-28 20:50 | 显示全部楼层
不命苦。。。
我解决了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

返回顶部