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


有時會彈出此對話框(請參見下面的屏幕截圖)。每次出現我選擇“保持當前的配色方案,並且不再顯示此消息”。 Windows然後再次提醒我 - 第二天或重啟後,或有時再5分鐘後。

Do you want to change the color scheme to improve performance?

您想更改配色方案以提高性能嗎?

Windows檢測到您的計算機性能很慢。這可能是因為沒有足夠的資源來運行Windows Aero配色方案。若要提高性能,請嘗試將顏色方案更改為Windows 7 Basic。您所做的任何更改將在您下次登錄Windows時生效

  • 將顏色方案更改為Windows 7 Basic
  • 保持當前的配色方案,但如果我的計算機繼續緩慢執行,請再次詢問我
  • 保持當前的配色方案,不要再顯示此消息

Windows有沒有理由忽略/忘記我試圖壓制對話?我希望永遠不會再看到它,它很煩人,而且它會讓我從全屏應用程序中脫穎而出。

如果重要,我正在運行Windows 7 x64 Professional。我相信對話框出現是因為我強迫DirectX應用程序使用Vsync和Triple Buffering。


119
2017-07-24 22:44


起源


您是否有機會使用NoMachine的NXclient?如果是,則只需在會話配置中禁用DirectDraw。 - dtoubelis
沒有@dtoubelis,在我的情況下它出現在我正在運行Just Cause 2.對任何使用NXClient的人的好建議雖然=) - William Lawn Stewart
@FakeName試一試,右鍵單擊 我的電腦 在桌面上,選擇 屬性>高級系統設置。在“高級”選項卡下,單擊 設置 “性能”下的單選按鈕,並選擇自定義方案,或單擊按鈕 調整為最佳外觀 要么 調整以獲得最佳性能  然後單擊“應用”。 - avirk
bitsum.com/forum/index.php?topic=1128.0 檢查該鏈接並嘗試.bat文件來運行遊戲。 - avirk
您是否嘗試關閉Vsync?看到 本文。 - harrymc


答案:


假設您意識到此消息通知您系統資源不足並要求您禁用Aero,以便它能夠以最佳速度繼續運行,

  1. 轉到“開始”菜單並鍵入 活動中心 在搜索框上
  2. 啟動它(它應該是“控制面板”組下的頂部條目)
  3. 在左側邊欄上,單擊 Change Action Center settings
  4. 解開了 Windows Troubleshooting 複選框,在“維護消息”下。
  5. 點擊 Ok 按鈕,你就完成了。

以下是設置屏幕的屏幕截圖:

或者:

  • 您可以嘗試保持此設置,並在啟動通常啟動此操作中心通知的應用程序之前切換到基本桌面模式。要么,
  • 您可以右鍵單擊用於啟動這些全屏應用程序的圖標,單擊屬性並在“兼容性”選項卡下勾選 Disable desktop composition。這將禁用 桌面窗口管理器會話管理器 在執行此應用程序期間提供服務,這將增加系統和視頻內存並避免某些應用程序不兼容。如果您有足夠的系統和視頻內存,但是在某些遊戲或全屏應用程序中收到此消息,則可能是您的操作中心消息的原因。

72
2017-07-24 23:49



值得一提的是,不再顯示的硬件設備驅動程序消息不正確。如果您不對硬件進行更改或始終從可靠來源下載驅動程序,則很少發生。 - A Dwarf
@嗯嗯,我不確定這個答案是否正確。我沒有選中“Windows疑難解答”,我一直對此對話框感到困惑。 - Jeff Atwood
法語Windows 7版本的答案,因為它沒有很好的翻譯:Panneau de configuration/Systèmeetsécurité/ Center de maintenance / ModifierlesparamètresduCenter de maintenance(左側菜單)。 - Doomsday
這不起作用。我沒有檢查它。 - user2867288
我真的很喜歡這個答案,除了它不起作用的事實。 - Jake


我經常處於類似的情況,即使我從來沒有得到完全相同的信息,並且做了一些測試。

根據我的理解,這裡面臨壓力的核心資源是 GPU內存。但這並不一定表明你一般都在耗盡這個資源。這可能只是意味著桌面窗口管理器檢測到您正在運行 這麼低 可以禁用此服務的一個特定功能以釋放更多內存。

為了測試這一點,我開始開放GPU內存密集型應用程序:

enter image description here

這在我的三屏設置上有一些高於平均水平的使用,其中一些關鍵播放器正在運行(Visual Studio 2012(支持硬件加速),PhpStorm,Aptana Studio,Chrome,Firefox,IE,......)。 所以,是的,如果你只有1 GB卡,這將是你通常的使用場景,你已經有問題了。

我不得不進一步推動並啟動更多的Visual Studio實例......

enter image description here
enter image description here

......直到它接近1.5 GB標記並且......

enter image description here

SNAP!這導致Windows徹底殺死桌面合成(並釋放一些寶貴的資源)。

現在,當我已經處於關鍵級別時,我啟動了一個使用過多GPU內存的應用程序 在全屏,我甚至可以超越這個關鍵限度。這是在2560x1440上以最大細節運行Black Mesa一段時間後的結果:

enter image description here

因此,可以從中扣除兩件事。雖然在桌面上超過75%的標記可以強制Windows禁用桌面組合,但是當在全屏應用程序中達到相同限制時(並且,可選地退出該應用程序),桌面組合不會被禁用。
第二件事是,當你在遊戲中時,你可以得到“嘿,我有足夠的資源來運行這個遊戲,為什麼我沒有足夠的資源用於桌面?”。原因是,兩者都需要同時存儲。

退出遊戲後,Windows可能只能告訴您有關內存情況的信息。所以,當我啟動另一個Visual Studio時  離開黑梅薩... enter image description here

那麼,我們能做些什麼呢?

獲得更多GPU內存

甜美而簡單。

禁用桌面組合(每個進程)

如已經建議的那樣,您可以為單個可執行文件禁用桌面組合。這會導致在執行可執行文件時暫時禁用桌面組合。在我的測試中執行應用程序時,這大大減少了整體內存消耗:
enter image description here

賞金通知提到這是不可取的,因為這可能是很多工作。

禁用桌面組合(全局)

我不認為這是一種解決方案,因為通常需要桌面組合。但這是禁用它的地方:

enter image description here

我只是想擺脫煩人的消息!

只是因為你刪除了警告“你的電池幾乎是空的!你只能說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

這會重新啟動桌面窗口管理器並將我帶回我的合成桌面(並且它會在此過程中釋放大量資源)。

了解這一點,您還可以構建一個特殊的遊戲環境,在開始遊戲之前停止服務以對抗整個行為。但是,這將導致通過文件屬性禁用單個可執行文件的桌面組合的相同行為。


27
2017-11-03 13:35



問題(至少對我而言)是,雖然我的內存可能不足, 一切都仍然表現良好,如果我點擊“不要改變任何東西”遊戲和dwm.exe表現完全正常。所以不,我不想要一個減少我的記憶的調整, 我想讓JUTS THE DIALOG消失。 - Fake Name
如果我遇到未來的情況,我實際上 做 需要桌面合成引擎使用的額外視頻內存,我將解決它。但是,在這一點上, 我不需要回憶。 - Fake Name
我的意思是,對話框正是我想要的按鈕選項之一, 但那個按鈕不起作用。 Keep the current color scheme, and don't show this message again。 - Fake Name
所有的好點,但...我有一個系統與兩個ATI Radeon HD 5450卡,我唯一運行的是iTunes和Chrome - 我得到了這個。這是沒有意義的。 - David Thielen
“我從來沒有認為這個消息可以被關閉,我不知道這怎麼可能被視為一種好處。”  - 因為在玩視頻遊戲時經常會彈出這條消息,所以讓我退出遊戲 (有時不會暫停) 只是為了再次禁用此消息。我不在乎我的系統正在使用它的所有GPU內存 (事實上,這是一個 好事)。我不在乎Windows Aero是否在我遊戲中運行緩慢,只要遊戲繼續運行良好 - 它始終如此。我只是希望這條消息不會擾亂我的遊戲。 - BlueRaja - Danny Pflughoeft


在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)

for Windows 7 SP1 x64 + KB3125574 Convenience Rollup:

(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的調用,負責顯示消息窗口並強制執行jmp,如果調用返回成功則最初會採取jmp ...必須採用jmp,因為代碼顯然也只是對如果無法顯示消息,請切換到基本主題)

請注意,為了能夠更改/重命名/替換您的dwm.exe文件,您需要停止“Desktop Window Manager會話管理器”服務(在services.msc上),以便它停止運行,並獲取文件所有權並調整權限。 ..因為該文件默認由TrustedInstaller擁有...

另請注意,在我對dwm.exe的分析中,我發現實際上有兩條消息(相似但不一樣):

  • 一個是在頂部問題截圖中顯示的那個,這個顯示當dwm.exe使用一些cpu資源時......類似30%可能足以觸發它(並且VNC會發生這種情況),我的補丁刪除了此消息。
  • 還有另一個類似的消息,但文本略有不同,當dwm.exe使用太多GPU內存時顯示,那個不是問題截圖上顯示的那個,我的補丁不會刪除該消息。

16
2018-03-31 14:28



恭喜你成為5年來第一個真正懶得回答這個問題的人,而不是用迂腐的方式躲避這個問題。你不應該忽視這個完全可操作且不是多餘的警告。“遺憾的是,在我看來,修補可執行文件風險太大了,儘管我可以確認我的MD5與你的匹配。 - Lilienthal
謝謝Lilienthal。我理解你的意思,我通常也不喜歡修補,但IMO在這種情況下沒有太大的風險,因為補丁非常簡單,它基本上只是刪除了創建消息的api調用,而且似乎真的是唯一的永久方式修理它... - nars
你刻意破解Windows桌面管理器來解決其令人討厭的行為之一..看起來很公平 - Drax
謝謝!!!每次我在遊戲PC上玩Fallout 4時,我都會收到此消息。遊戲運行完美,但這個愚蠢的消息總是彈出來。你是我的上帝。 - user2867288
我的校驗和匹配,我使用相同的結果進行相同的編輯,但不幸的是,同樣的消息繼續彈出。不確定此修復程序是否仍然有效。儘管如此,還是要找到這個解決方案並獲得我的希望。 - S.C.


你的GPU內存不足了。這可能是:

  1. 您正在使用的圖形密集型程序中的錯誤(例如游戲)
  2. 視頻驅動程序中的錯誤,
  3. 資源匱乏的計算機。

當您運行Windows 7 x64時,第三種可能性並不適用。

對於第二種可能性,您可以將視頻驅動程序更新為製造商網站上的最新版本。

對於第一種可能性,如果在運行相同程序時總是發生這種情況,那麼它可能與Aero主題存在兼容性問題。要在運行該應用程序時禁用Aero,請將其可執行文件的“屬性”修改為“禁用桌面組合”:

enter image description here


8
2017-11-22 08:57



旁注:您只能禁用x86可執行文件的桌面組合,以及一些專門編譯的x64可執行文件。 - Fake Name
你的提議都不是真的。問題不在於我運行低(或超出)GPU內存,但Win7有一個錯誤,因為它使用了古老的百分比,因為它認為GPU內存很低。 (警告為67%,強制切換似乎為75%)。問題是,如果你有4GB的內存,那麼67%的消息會在超過1.2GB的空閒狀態下啟動。這是多年前與現在交換/分頁文件的建議。建議用於調整swap / page @ 2X內存大小。當我有512MB內存時,我停止使用交換(帶128GB內存,我仍然沒有 需要 它)。 Win用於限制的分數已過時。 - Astara
@Astara:他們現在可能不適合你。請注意評論6年前的答案 - 技術確實在不斷發展。今天這麼老的回答真是浪費你的聲譽。 - harrymc
@harrymc - 他們在6年前也不是真的。自發布之日起我就擁有了Win7。行為沒有改變。解決這個問題的唯一答案(而不是解決它)(不是它修改系統文件的理想選擇)是nars。關閉“桌面組合”並不能解決Windows中的底層錯誤 - 它是一種具有其他副作用的解決方法。 - Astara
@Astara:嗯,真的足以解決一個人的問題,他以賞金獎勵我。可能存在一個更好的解決方案,但關於我們論壇的最好的部分是解決方案的數量,並且它是一個給定的並非所有人都適用於所有人。 - harrymc


Windows有沒有理由忽略/忘記我試圖壓制對話?

否 - 如果您回答,則不應再次顯示窗口,但無論如何都會發生。

我相信對話框出現是因為我強迫DirectX應用程序使用Vsync和Triple Buffering。

不,不是因為那個原因。首先 - 桌面組合強制系統(但不是遊戲,它們使用DirectX)在垂直同步模式下工作,並且您可以使用Win + Tab等優秀功能(例如),因此禁用它,就像很多人說的那樣,不是解決方案,它是降低系統性能的方法,也是非常糟糕的解決方法。有些程序在啟用桌面合成時效果更好,因為vsync(就像一些電影播放器 - 它可以防止撕裂),有些效果更好,禁用桌面合成(當啟用DC時,某些帶點型邊框的窗口移動速度很慢,gfx程序也一樣舊的Corel可以工作得慢得多,但新程序總是很好用,所以啟用桌面組合。

現在我建議等到MS發布針對這種令人討厭的行為的任何修復。如果您喜歡新的Win7功能或Vsync,請確保不要禁用桌面合成。


0
2018-05-07 19:20



發現消息顯示一次/二進制啟動。每次我重新啟動二進製文件時,它都會重新詢問問題,但是對於其餘的運行,它會保留“1-binary”的消息“禁用”。所以對話在我的情況下被部分壓制了。至於另一個 - 可能不是三重緩衝使用更多的視頻內存並導致問題(我同意Vsync可能不是一個問題)。 - Astara