禁用“是否要更改配色方案以提高性能?”警告


120

有时会弹出此对话框(请参见下面的屏幕截图)。每次出现时,我都会选择“保留当前的配色方案,并且不再显示此消息”。然后,Windows再次提醒我-第二天或重新启动后,有时又是5分钟后。

是否要更改配色方案以提高性能?

是否要更改配色方案以提高性能?

Windows已检测到您计算机的性能很慢。这可能是因为没有足够的资源来运行Windows Aero配色方案。为了提高性能,请尝试将配色方案更改为Windows 7 Basic。您所做的任何更改将一直生效,直到您下次登录Windows。

  • 将配色方案更改为Windows 7 Basic
  • 保持当前的配色方案,但再次询问我计算机是否继续缓慢运行
  • 保持当前的配色方案,并且不再显示此消息

Windows是否有某些原因会忽略/忘记我禁止显示对话框的尝试?我希望再也看不到它了,这很烦人,而且它使我无法使用全屏应用程序。

如果有关系,我正在运行Windows 7 x64 Professional。我相信会出现该对话框,因为我正在为DirectX应用程序强制使用Vsync和Triple Buffering。


1
您是否有机会使用NoMachine的NXclient?如果是,则在会话配置中禁用DirectDraw。
dtoubelis

不,@ dtoubelis,就我而言,它是在我运行Just Cause 2时出现的。对使用NXClient的人来说是个好建议,尽管=)
William Lawn Stewart

1
@FakeName尝试一下,右键单击桌面上的我的电脑,选择属性>高级系统设置。在“高级”选项卡下,单击“性能”下的“ 设置”单选按钮,然后选择一个自定义方案,或者单击“ 调整以获得最佳外观”或“ 调整以获得最佳性能 ”的按钮,然后单击“应用”。
2012年

bitsum.com/forum/index.php?topic=1128.0签出该链接并尝试.bat文件来运行游戏。
2012年

1
您是否尝试过关闭Vsync?看到这篇文章
harrymc

Answers:


72

假设您意识到此消息是在通知您系统资源不足,并要求您禁用Aero,以便它能够始终以最佳速度运行,

  1. 转到“开始”菜单,然后在“搜索”框中键入“操作中心
  2. 启动它(它应该是“控制面板”组下的顶部条目)
  3. 在左侧边栏上,单击 Change Action Center settings
  4. 取消Windows Troubleshooting选中“维护消息”下的复选框。
  5. 单击Ok按钮,您就完成了。

这是设置屏幕的屏幕截图:

或者:

  • 您可以尝试保持此设置不变,并在启动通常会触发此Action Center通知的应用程序之前切换到基本桌面模式。要么,
  • 您可以右键单击用于启动这些全屏应用程序的图标,单击属性,然后在“兼容性”选项卡下打勾Disable desktop composition。这将在执行此应用程序期间禁用桌面窗口管理器会话管理器服务,这将增加系统和视频内存并避免某些应用程序不兼容。如果您有足够的系统和视频内存,但是正在某些游戏或全屏应用程序中获取此消息,则可能是Action Center消息的原因。

3
值得一提的是,不良的硬件设备驱动程序消息将不再显示。Ã如果您不更改硬件或始终从可靠来源下载驱动程序,这种情况很少发生。
矮人

66
@will嗯,我不确定这个答案是正确的。我没有选中“ Windows故障排除”,并且此对话框一直困扰我。
Jeff Atwood

2
法语Windows 7版本的答案,因为它的翻译不是很好:维护/配置/安全中心/维护中心/维护中心的修饰符(左菜单)。
世界末日

18
这行不通。我没有检查。
user2867288 2015年

9
除了它不起作用之外,我真的很喜欢这个答案。
杰克

27

我一直处于类似的情况,即使我从未收到完全相同的消息,并且进行了一些测试。

据我了解,这里压力最大的核心资源是GPU内存。但这并不一定表明您通常会用尽该资源。这可能只是意味着Desktop Window Manager已检测到您的运行速度很慢,因此可以禁用此服务的一项特定功能以释放更多的内存。

为了测试这一点,我开始打开GPU内存密集型应用程序:

在此处输入图片说明

这比我的三屏设置上的平均使用情况要高一些,运行着几个关键播放器(Visual Studio 2012(启用了硬件加速),PhpStorm,Aptana Studio,Chrome,Firefox,IE等)。所以,是的,如果您只有一张1 GB的卡,这将是您通常的使用情况,那么您已经遇到了问题。

我不得不进一步推动并启动更多的Visual Studio实例...

在此处输入图片说明
在此处输入图片说明

...直到它接近1.5 GB标记并...

在此处输入图片说明

快点!这导致Windows完全终止了桌面合成(并释放了一些宝贵的资源)。

现在,当我已经处于临界水平时,并且我启动了一个在全屏模式下使用大量GPU内存的应用程序,我什至可以超越这个临界极限。以下是在2560x1440上以最大详细信息运行Black Mesa一段时间后的结果:

在此处输入图片说明

因此,可以从中得出两点。超过桌面上75%的标记可能会强制Windows禁用桌面合成,但是当在全屏应用程序中达到相同限制(并且可以选择退出该应用程序)时,不会禁用桌面合成。
第二件事是,当您在玩游戏时,可以得到这样的想法:“嘿,我有足够的资源来运行此游戏,为什么我没有足够的资源用于桌面?”。原因是,两者都需要同时存储。

退出游戏后,Windows可能只能告诉您有关内存的情况。因此,当我退出Black Mesa 启动另一个Visual Studio时... 在此处输入图片说明

那么,我们该怎么办?

获得更多的GPU内存

甜美而简单。

禁用桌面合成(每个进程)

正如已经建议的那样,您可以为单个可执行文件禁用桌面合成。这具有在执行可执行文件时临时禁用桌面合成的效果。在我的测试中执行应用程序时,这大大减少了总体内存消耗:
在此处输入图片说明

赏金通知提到这是不希望的,因为这可能是很多工作。

禁用桌面合成(全局)

我不认为这是一个解决方案,因为通常需要桌面组合。但这是禁用它的地方:

在此处输入图片说明

我只想摆脱烦人的消息!

仅仅因为您删除了警告“ 您的电池快没电了!您只能再通话10分钟! ”,并不意味着您可以通话10分钟以上。实际上,您的手机很可能会简单地关机,仅此而已。现在如何改进?

我从没想过可以关闭该消息,也看不出这有什么好处。

您可能会认为自己知道得更多,但事实并非如此。如果系统告诉您资源不足,那就可以了。

但这不是!我知道!

好的,让我们假设Windows不够智能,无法检测到您所处的特殊情况,并且警告消息仅是令人讨厌的不便。现在怎么办?

事情是,就我个人而言,我也受此影响,这使我烦恼。因为我什至没有收到该警告消息。Windows只需切换我的颜色配置文件即可。我真的很喜欢。

发生这种情况时,我通常会快速运行一个脚本,该脚本将

net stop uxsms & net start uxsms

这是完整的脚本。它将弹出打开UAC提示并重新启动服务,以便可以从任何地方触发它。我已将其固定到开始菜单。

@if (1==1) @if(1==0) @ELSE
@echo off&SETLOCAL ENABLEEXTENSIONS
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"||(
    cscript //E:JScript //nologo "%~f0"
    @goto :EOF
)
NET STOP uxsms
NET START uxsms
@goto :EOF
@end @ELSE
ShA=new ActiveXObject("Shell.Application")
ShA.ShellExecute("cmd.exe","/c \""+WScript.ScriptFullName+"\"","","runas",5);
@end

这将重新启动Desktop Window Manager,并将我带回到复合桌面(并且,在此过程中,它释放了大量资源)。

知道了这一点,您还可以为自己构建一个特殊的游戏环境,在该环境中您可以在开始游戏之前停止该服务以打击整个行为。但是,这将导致相同的行为,从而通过文件属性为单个可执行文件禁用桌面合成。


25
问题(至少对我来说)是,尽管我的内存可能不足,但一切仍然正常,如果单击“不更改任何内容”,则游戏和dwm.exe的运行都非常好。因此,不,我不想进行调整以降低记忆力,而是想使JUTS THE DIALOG消失
假名称

6
如果将来遇到确实需要台式机合成引擎使用的其他视频内存的情况,那么我会解决此问题。但是,在这一点上,我不需要该记忆
假名称

14
我的意思是,该对话框正是我想要的按钮选项之一,但是该按钮不起作用Keep the current color scheme, and don't show this message again
假名称

2
一切都很好,但是...我的系统有两块ATI Radeon HD 5450卡,而我正在运行的唯一东西是iTunes和Chrome-而我正在这样做。这是没有意义的。
David Thielen

28
“我从未想过可以关闭该消息,而且我不认为这可以被认为是有好处的。” -因为在玩视频游戏时经常弹出此消息,所以将我退出游戏(有时不会暂停)只是为了再次禁用此消息。我不在乎我的系统是否正在使用其所有的GPU内存(实际上,这是一件好事。只要游戏继续正常运行,我就不在乎Windows Aero在我玩游戏时是否运行缓慢。我只希望此消息不会干扰我的游戏。
BlueRaja-Danny Pflughoeft13年

18

我一直在Windows 7 PC上一直(这很长一段时间)一直在困扰着我该死的消息,主要是在通过VNC(任何口味)远程访问它们时,但是想保持Aero和桌面合成处于打开状态(肯定不是)使用VNC镜像驱动程序,否则肯定没有Aero)。

切换到基本主题(即使是暂时的),例如会破坏某些旧应用程序的gui(例如获得DPI虚拟化的应用程序,仅适用于Aero +桌面合成),这就是我想要保留Aero和桌面合成的原因之一默认情况下已打开,但只是停止了该死的消息,而且系统实际上运行良好,因为许多用户在此页面上对注释进行确认,然后问题出在消息上!

取消“维护消息”下的“ Windows故障排除”复选框不是解决方案,因为许多人还在此处对注释进行确认,它不起作用,并且禁用桌面合成是...好吧...就像告诉您关闭汽车一样电机,因为它无法正常工作...即不是解决方案...

在长时间困扰着该消息之后,我决定必须停止此消息,然后我调试了dwm.exe并最终找到了如何永久删除该消息的方法……如果您要这样做,并且拥有Windows 7 SP1 x64 (对于x86可能有所不同),就像我一样对dwm.exe进行补丁:

警告:仅当您知道自己在做什么时才这样做,否则可能会损坏系统!

对于Windows 7 SP1 x64:

(original file md5: f162d5f5e845b9dc352dd1bad8cef1bc)
open file on an hex editor and search for this pattern:
FF15D2A5000085C079
replace it by:
9090909090909090EB
(patched file md5: 2ab05d7454dcd8ef20a7f99b3390973d)

对于Windows 7 SP1 x64 + KB3125574便利汇总:

(original file md5: c206c9dbfc34afd367dd150d979a5185)
open file on an hex editor and search for this pattern:
FF1562B1000085C079
replace it by:
9090909090909090EB
(patched file md5: 8243c03dad2b9aaaddabe65e4869e2ae)

(该补丁只是删除了对TaskDialogIndirect api的调用,该API负责显示消息窗口并强制执行jmp,如果调用返回成功,则将在最初执行该操作……jmp必须被视为代码,显然也必须这样做如果无法显示消息,请切换为基本主题)

请注意,要能够更改/重命名/替换dwm.exe文件,您需要停止“ Desktop Window Manager会话管理器”服务(在services.msc上),以使其停止运行,并拥有文件所有权并调整权限。 ..因为该文件默认为TrustedInstaller所拥有...

还要注意,在我对dwm.exe的分析中,我发现实际上有两个消息(相似但不相同):

  • 一个是在最上面的问题屏幕快照中显示的那个,当dwm.exe使用某些cpu资源时显示此消息...大约30%的东西可能足以触发它(而VNC做到了),我的补丁删除了此消息。
  • dwm.exe使用过多的GPU内存时会显示另一条类似的消息,但文字略有不同,这不是问题屏幕截图中显示的消息,而且我的补丁程序不会删除该消息。

10
祝贺您成为5年内第一个真正愿意回答这个问题而又没有用古怪的方法回避问题的人:“ 您不应该忽略这个完全可行且并非多余的警告。 ”可悲的是,修补可执行文件存在太多风险我的看法,尽管我可以确认我的MD5与您的相符。
Lilienthal

3
谢谢你Lilienthal。我理解您的意思,我通常也不喜欢打补丁,但是IMO在这种情况下没有太大的风险,因为打补丁非常简单,它基本上只是删除了创建消息的api调用,并且似乎确实是唯一的永久方法修复...
nars '17

1
谢谢!!!每当我在游戏PC上玩《辐射4》时,我都会收到此消息。游戏运行完美,但是这个愚蠢的消息总是弹出。你是我的上帝
user2867288'7

1
@Coldblackice:您需要在TaskDialogIndirect api(comctl32.dll)上添加一个断点,该断点是创建此类“问题”窗口的api(如果将其添加到CreateWindowEx上,您也可以访问它,我首先这样做了,但是您需要在RET之后进行更多回溯...直到您找到dwm.exe代码)。我使用了x64dbg,将其附加到已经在运行的dwm.exe进程中,但是我不得不使用一个小技巧:将调试器附加到dwm.exe之后,尽管调试被“暂停”,它将冻结整个gui,那么您将不会能够在任何窗口上看到任何东西,甚至看不到调试器……
nars,2017年

1
@Coldblackice:...然后要变通,我确实使用了两个Windows会话(即两个用户帐户),一个只是运行调试器并将其从另一个会话附加到dwm.exe,然后将用户切换到另一个会话,然后运行一些触发消息的程序(我使用vnc),它将触发断点并冻结gui,因为调试器将暂停,然后按ctrl + alt + del并切换到第一个会话以使用调试器...您会看到什么我的意思是。
nars

8

您的GPU内存已用完。这可能是:

  1. 您正在使用的图形密集型程序中的错误(例如游戏)
  2. 视频驱动程序中的错误,
  3. 资源匮乏的计算机。

当您运行Windows 7 x64时,第三种可能性可能不适用。

对于第二种可能性,您可以将视频驱动程序更新为制造商网站上的最新版本。

对于第一种可能性,如果在运行同一程序时总是发生这种情况,则可能与Aero主题存在兼容性问题。要在运行该应用程序时禁用Aero,请将其可执行文件的属性修改为“禁用桌面合成”:

在此处输入图片说明


旁注:您只能为x86可执行文件以及某些专门编译的x64可执行文件禁用桌面合成。
假名称

1
您的建议都不正确。问题不在于我的GPU内存不足(或用完了),而是Win7有一个错误,那就是它认为过低的GPU内存使用了过时的百分比。(警告为67%,强制切换似乎为75%)。问题是,如果您有4GB内存,则67%的消息会启动并提供1.2GB以上的可用空间。它用于交换/分页几年前与现在的文件建议。建议使用大小交换/页@ 2X内存大小。当我有512MB内存时,我停止使用swap(带有128GB内存,我仍然不需要它)。Win用于限制的分数已过时。
阿斯塔拉

@Astara:对于您来说,现在可能不正确。请谨慎评论6年前的答案-技术的确在发展。今天拒绝这么老的答案确实浪费了您的声誉。
harrymc '17

@harrymc-6年前也并非如此。自Win7发布以来,我就拥有它。行为没有改变。解决这个问题(相对于它的解决方法)的唯一答案(不是因为它修改系统文件是理想的)是nars。关闭“桌面合成”并不能解决Windows中的潜在错误-这是一种具有其他副作用的解决方法。
阿斯塔拉(Astara)

@Astara:嗯,确实可以解决一个人的问题,这个人悬赏赏赐了我。可能存在一个更好的修复程序,但是关于我们论坛的最好的部分是解决方案的数量,并且考虑到并非所有解决方案都能为每个人工作。
harrymc '17

0

Windows是否有某些原因会忽略/忘记我禁止显示对话框的尝试?

否-如果您回答该问题,则不应再次显示窗口,但还是会发生。

我相信会出现该对话框,因为我正在为DirectX应用程序强制使用Vsync和Triple Buffering。

不,不是因为这个。首先-桌面合成强制系统(而不是游戏,他们使用DirectX)在垂直同步模式下工作,并为您提供了使用Win + Tab等出色功能的可能性,因此像许多人所说的那样禁用它是这不是解决方案,而是降低系统性能的方法,而且解决方法也很糟糕。由于启用了vsync,某些程序在启用Desktop Composition的情况下效果更好(例如某些电影播放器​​-可以防止撕裂),而在禁用Desktop Composition的情况下,某些程序效果更好(当启用DC时,某些带有点型边框的窗口移动得非常慢,gfx程序也是如此)旧版Corel的运行速度可能慢得多),但是新程序始终运行良好,因此请启用桌面合成。

目前,我建议您等到MS针对该烦人的行为发布任何修复程序。当然,如果您喜欢Win7的新功能或Vsync,请不要禁用桌面合成。


发现消息显示一次/二进制启动。每次我重新启动二进制文件时,它都会问这个问题,但是在其余的运行过程中,对于该1个二进制文件,将消息“禁用”。因此,就我而言,对话被部分抑制了。至于另一个-可能不会三重缓冲使用更多的视频内存并导致这个问题(我同意Vsync可能不是问题)。
阿斯塔拉(Astara)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.