Disable "Do you want to change the color scheme to improve performance?" warning

122

39

Sometimes this dialog box will pop up (see screenshot below). Every time it appears I select "Keep the current color scheme, and don't show this message again". Windows then reminds me again -- either the next day or after reboot, or sometimes another 5 minutes later.

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

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

Windows has detected your computer's performance is slow. This could be because there are not enough resources to run the Windows Aero color scheme. To improve performance, try changing the color scheme to Windows 7 Basic. Any change you make will be in effect until the next time you log on to Windows

  • Change the color scheme to Windows 7 Basic
  • Keep the current color scheme, but ask me again if my computer continues to perform slowly
  • Keep the current color scheme, and don't show this message again

Is there some reason why Windows is ignoring/forgetting my attempts to suppress the dialog? I'd love to never ever see it again, it's annoying, and it alt-tabs me out of fullscreen applications.

If it matters, I'm running Windows 7 x64 Professional. I believe the dialog appears because I'm forcing Vsync and Triple Buffering for DirectX applications.

William Lawn Stewart

Posted 2011-07-24T22:44:55.300

Reputation: 1 889

@harrymc: Great article, very informative... and might explain why Windows keeps showing me that annoying dialogue despite my game performing amazingly with two GTX960s on SLI. (In my case, the only reason Windows thinks it needs to butt in is because I have a game running on fullscreen on one monitor, and some apps are running on a second monitor.) – Amos M. Carpenter – 2016-02-05T00:43:23.690

1Are you by any chance using NXclient from NoMachine? If yes, then just disable DirectDraw in session configuration. – dtoubelis – 2011-11-23T04:11:32.047

Nope @dtoubelis, in my case it appeared when I was running Just Cause 2. Good advice for anyone using NXClient though =) – William Lawn Stewart – 2011-11-30T10:57:30.590

1@FakeName give a try, right click My Computer on the desktop, select Properties>Advanced System Settings. Under the "Advanced" tab, click the Settings radio button under "Performance" and either select a custom scheme, or, Click the button for Adjust for best appearance or Adjust for best performance and click "Apply". – avirk – 2012-11-03T12:38:55.073

https://bitsum.com/forum/index.php?topic=1128.0 check out that link and try out the .bat files to run the games. – avirk – 2012-11-03T14:49:14.530

https://skydrive.live.com/?cid=613c64ef069e3edd&id=613C64EF069E3EDD%21136 try out that scripting files from the above link I have mentioned you. – avirk – 2012-11-03T15:15:10.993

1

Have you tried switching Vsync off? See this article.

– harrymc – 2012-11-05T08:51:13.743

Answers

74

Assuming you realize this message is informing you your system is low on resources and is asking you to disable Aero so it can keep performing at optimum speed,

  1. Go to the Start Menu and type Action Center on the Search box
  2. Start it (it should be the top entry, under the "Control Panel" group)
  3. On the left sidebar, click Change Action Center settings
  4. Untick the Windows Troubleshooting checkbox, under "Maintenance Messages".
  5. Click the Ok button and you are done.

Here is a screenshot of the setting screen:

Alternatively:

  • You can try and keep this setting just as it is and switch to Basic desktop mode before launching the applications that usually fire up this Action Center notification. Or,
  • You can right click the icons you use to fire up these full screen applications, clicking properties and under the Compatibility tab tick Disable desktop composition. This will disable the Desktop Window Manager Session Manager service during execution of this application which will increase system and video memory and avoid some application incompatibilities. A likely cause for your Action Center message if you have enough system and video memory but are stuill getting this message with certain games or full screen applications.

A Dwarf

Posted 2011-07-24T22:44:55.300

Reputation: 17 756

18This doesn't work. I have it unchecked. – user2867288 – 2015-12-06T04:22:31.883

9I really like this answer except for the fact that it doesn't work. – Jake – 2016-10-21T11:30:06.357

1This isn't a solution for the original question -- HOW to keep the question from popping up when there is no problem with resources and it is the display of the popup, itself, that is the only problem. Turning off desktop composition isn't a solution, since I want it on. The only problem is the question. I have 4GB dedicated memory, and this question pops up when the max dedicated memory hits 2.65GB -- or 2/3rds max GPU mem. The 2/3rds limit might have been reasonable w/less GPU mem, but not w/4GB. That's the problem. – Astara – 2017-08-26T22:17:03.630

Awesome :D There isn't any important maintenance messages that I'll be missing out on by turning this off? – William Lawn Stewart – 2011-07-25T00:02:58.570

3Worth being mentioned just bad hardware device driver messages that will no longer be displayed. Ã rare occurrence if you don't make changes to your hardware or always download drivers from reliable sources. – A Dwarf – 2011-07-25T00:13:30.547

66@will hmm, I am not sure this answer is correct. I do not have "Windows Troubleshooting" checked and I keep getting nagged with this dialog. – Jeff Atwood – 2011-11-21T23:42:10.413

@Jeff, In that case you should try one of the alternative options I list above. More specifically the option about disabling Desktop Composition. This is a known issue with Windows 7 when there doesn't exist any memory problems, but instead an application compatibility issue. – A Dwarf – 2011-11-24T02:43:17.540

@Jeff, I haven't seen it since I disabled maintenance messages, although I guess it is possible that a driver update or similar fixed it in my case. – William Lawn Stewart – 2011-11-30T11:05:47.033

@William because in fact my answer was correct. It's either disable maintenance messages or disable desktop composition. But for some reason, my answer was deemed unworthy just because jeff didn't read it to the end. – A Dwarf – 2011-11-30T13:45:46.467

1@ADwarf I do prefer your answer personally, but possibly desktop composition is the better option to suggest first, since it solves the underlying problem, rather than suppressing the message. You're right though, your answer does mention that as well. – William Lawn Stewart – 2011-11-30T23:26:40.140

2Answer for french windows 7 version because it is not very well translated: Panneau de configuration/Système et sécurité/Centre de maintenance/Modifier les paramètres du Centre de maintenance(Left menu). – Doomsday – 2011-12-18T20:36:23.007

28

I'm constantly in a similar situation even though I never get that exact same message, and have done a bit of testing around.

To my understanding, the core resource that is under stress here, is the GPU memory. But this doesn't necessarily indicate that you're running out of this resource in general. It might just mean the Desktop Window Manager has detected that you're running so low that one specific feature of this service could be disabled to free up more memory.

To test this, I started opening up GPU memory intensive applications:

enter image description here

This is somewhat above average use on my triple-screen setup with a few key players running (Visual Studio 2012 (hardware acceleration enabled), PhpStorm, Aptana Studio, Chrome, Firefox, IE, ...). So, yeah, if you only have a 1 GB card and this would be your usual usage scenario, you'd already have a problem.

I had to push a bit further and start a couple more Visual Studio instances...

enter image description here
enter image description here

...until it was nearing the 1.5 GB mark and...

enter image description here

SNAP! This caused Windows to kill desktop compositing completely (and free up some precious resources).

Now, when I'm already at a critical level, and I start an application that uses excessive amounts of GPU memory in fullscreen, I can even go beyond this critical limit. Here's the result after running Black Mesa for a while on 2560x1440 at max details:

enter image description here

So, two things can be deducted from this. While going over the 75% mark on the desktop can force Windows to disable desktop composition, when reaching the same limit in a fullscreen application (and, optionally exiting that application) desktop composition is not disabled.
The second thing is, while you're in your game, you can get the idea "Hey, I have enough resources to run this game, why don't I have enough resources for the desktop?". The reason is, both require memory at the same time.

Windows might only be able to tell you about the memory situation after you exited the game. So, when I start another Visual Studio after exiting Black Mesa... enter image description here

So, what can we do about this?

Get more GPU memory

Sweet and simple.

Disable Desktop Composition (per process)

As was already suggested, you can disable desktop composition for a single executable. This has the effect that desktop composition is temporarily disabled while the executable is being executed. This drastically reduced the overall memory consumption while the application is executed in my tests:
enter image description here

The bounty notice mentions that this is undesirable, as this is potentially a lot of work.

Disable Desktop Composition (globally)

I wouldn't consider this a solution as desktop composition is usually desired. But this is where to disable it:

enter image description here

I just want to get rid of the annoying message!

Just because you remove the warning "Your battery is almost empty! You can only talk for 10 more minutes!" does not mean you can talk for longer than 10 minutes. In fact, your phone will most likely simply shut off and that's it. Now how's that for an improvement?

I never assumed the message can be turned off and I don't see how that could be considered a benefit.

You might think you know better, but you don't. If the system is telling you it's running out of resources, it is.

But it isn't! I know!

Ok, let's assume Windows is just not smart enough to detect the special situation you're in and the warning message is simply an annoying inconvenience. What now?

The thing is, me personally, I'm also affected by this and it's annoying the hell out of me. Because I don't even get that warning message. Windows simply switches my color profile and that's it. And I like that actually.

When it happens I usually quickly run a script that calls

net stop uxsms & net start uxsms

Here is the full script. It will pop open a UAC prompt and restart the service so it can be triggered from anywhere. I have it pinned to the start menu.

@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

This restarts the Desktop Window Manager and brings me back to my composited desktop (and it frees up lots of resources in the process, yay).

Knowing this, you can also construct yourself a special gaming environment where you stop the service before starting the game to combat this whole behavior. However, this will cause identical behavior to disabling desktop composition for a single executable through the file properties.

Der Hochstapler

Posted 2011-07-24T22:44:55.300

Reputation: 77 228

+1 mostly for that script. I understand when doing screen recording during a game or something, I'm likely to run out of GPU memory, but the last few days, Windows has been switching to basic mode without me even running anything heavy – MyNameWouldGoHere – 2016-01-31T20:38:07.373

25The issue (for me, at least), is that while I may be running low on memory, everything is still performing fine, and if I click "Don't change anything" the game AND dwm.exe perform perfectly fine. So No, I don't want a tweak that reduces my memory udace, I want to make JUTS THE DIALOG go away. – Fake Name – 2012-11-04T09:26:08.060

6If I run into a situation in the future where I actually do need the additional video memory that's used by the desktop composition engine, I'll fix that then. However, at this point, I don't need that memory back. – Fake Name – 2012-11-04T09:27:18.280

14I mean, the dialog has exactly what I want as one of the button options, but that button doesn't work. Keep the current color scheme, and don't show this message again. – Fake Name – 2012-11-04T09:29:05.580

@FakeName: The thing is, I imagine that I clicked that option in the past and what I am experiencing right now is the result of it. But I'm not 100% certain as it's been so long since I've seen that exact dialog. – Der Hochstapler – 2012-11-04T23:36:54.617

2All great points but... I have a system with two ATI Radeon HD 5450 cards and the only thing I'm running is iTunes & Chrome - and I'm getting this. That makes no sense. – David Thielen – 2013-07-07T15:26:49.600

1@DavidThielen: I don't know what Chrome you're running, but the Chrome I'm running is one of the most resource exhausting applications I know. That being said, there also might be other reasons I'm not aware of. – Der Hochstapler – 2013-07-07T21:00:40.710

28"I never assumed the message can be turned off and I don't see how that could be considered a benefit." - Because this message pops up often when playing video games, pulling me out of the game (which sometimes isn't paused) just to disable this message once again. I don't care that my system is using all its GPU ram (in fact, that's a good thing). I don't care if Windows Aero runs slow while I'm in my game, as long as the game continues to run fine - which it always does. I just want this message to not disrupt my gaming. – BlueRaja - Danny Pflughoeft – 2013-11-14T21:21:31.620

What is the system information app that you are running in these screenshots? – Lawrence Dol – 2013-11-26T00:01:27.590

@SoftwareMonkey: Process Hacker

– Der Hochstapler – 2013-11-26T09:28:39.677

@OliverSalzburg: Ahh, also known as SysInternals Process Explorer. Thanks. – Lawrence Dol – 2013-11-27T02:53:21.403

@SoftwareMonkey: No, they are two distinct applications. – Der Hochstapler – 2013-11-27T08:36:03.560

@OliverSalzburg: Looks very much like Process Hacker is sourced from the SysInternals program - the UI has way too many similarities for it to be very likely otherwise. But I see that PH looks very much improved. Thanks again. – Lawrence Dol – 2013-11-27T20:30:00.543

18

I have been getting this damn message nagging me all the time as well (for long time now) on Windows 7 PC's, mainly when remotely accessing them by VNC (any flavor), but wanting to keep Aero and desktop composition turned on (surely not using VNC mirror driver else no Aero for sure).

The switch to basic theme, even if temporarily, would for example break gui's for some old apps (like the ones getting DPI virtualization, only available with Aero + desktop composition), that was one of the reasons I wanted to keep Aero and desktop composition turned on, as default, but just stop the damn message, moreover the system was actually running fine, as many users confirm on comments in this page, then the problem was just the message!

Unticking the "Windows Troubleshooting" checkbox under "Maintenance Messages" is just no solution, as many also confirm on comments here, it doesn't work, and disabling desktop composition is... well... like telling to turn off your car motor because it doesn't work properly... i.e. not a solution...

After being nagged with this message for long time I decided I really had to stop this, then I debugged dwm.exe and finally found how to kill the message permanently... if you want to do the same and you have Windows 7 SP1 x64 (it is probably different for x86) just patch your dwm.exe like I did:

Warning: Only do this if you know what you are doing, else you may break your system !!!

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

(the patch just removes the call to the TaskDialogIndirect api, responsible to show the message window and forces a jmp, that would originally be taken if the call return is success... the jmp must be taken as code is apparently also done to just switch to basic theme if it can't show the message)

Note that to be able to do changes/rename/replace your dwm.exe file you need to stop "Desktop Window Manager Session Manager" service (on services.msc), so that it stops running, and take file ownership and adjust permissions... as the file is owned by TrustedInstaller by default...

Also note that in my analysis to dwm.exe I found that there are actually two of these messages (similar but not the same):

  • one is the one shown at the top question screenshot, this one shows up when dwm.exe is using some cpu resources... something like 30% may be enough to trigger it (and VNC makes that happen), my patch removes this message.
  • there is another similar message, but with slightly different text, that shows up when dwm.exe is using too much GPU memory, that one is not the one shown on the question screenshot and my patch will not remove that message.

nars

Posted 2011-07-24T22:44:55.300

Reputation: 321

11Congratulations on being the first person in 5 years to actually bother to answer the question without dodging the question with a pedantic "You shouldn't be ignoring this Totally Actionable and Not Superfluous warning." Sadly, patching executables is too much of a risk in my view, though I can confirm that my MD5 matches yours. – Lilienthal – 2017-04-05T16:00:13.837

4Thank you Lilienthal. I understand what you mean, I usually also dislike patching, however IMO there is no much risk on this case as the patch is really very simple, it basically just removes the api call that creates the message, and seems really the only permanent way to fix it... – nars – 2017-04-06T22:37:58.270

You literaly hacked windows desktop manager to fix one of its annoying behavior.. seems fair – Drax – 2017-06-17T23:59:06.310

1Thank you!!! I was getting this message every time I played Fallout 4 on my gaming PC. The game runs flawlessly but this stupid message always popped up. You are my god. – user2867288 – 2017-07-05T03:47:38.330

My checksum matched and I made the same edit with the same result but unfortunately this same message continues to pop up. Not sure that this fix is still working. Have an upvote for finding this solution and getting my hopes up, though. – S.C. – 2017-07-12T02:56:08.857

S.C. Are you sure you are getting exactly the same message that is shown on the screenshot on the 1st post? (please compare it side by side if possible) As I refer at the end of my post there is another message that is very similar but haves slightly different wording, that one is triggered by low gpu memory and not by cpu resources. It's strange if you are getting the same exact message as the patch fully removes the call to the API responsible to create the message window... – nars – 2017-07-13T06:02:35.410

@nars Nars, how'd you go about finding that offset? I'm familiar with basic debugging (using Olly, Ida, etc.) but could use a bit of a step-through to how you located the call(s) and then NOP'ed them out. The hash of my dwm.exe doesn't match yours, unfortunately. Thanks! – Coldblackice – 2017-08-08T03:24:53.643

1@Coldblackice: You need to add a breakpoint on TaskDialogIndirect api (comctl32.dll) that is the api to create such "question" windows (if you add it on CreateWindowEx you will also be able to reach it, I did it firstly, but you need to do some more trace back... following the RET's until you land back on dwm.exe code). I used x64dbg, attaching it to an already running dwm.exe process, however I had to use a small trick: after you attach debugger to dwm.exe, while debugging is "paused" it will freeze whole gui, then you will not be able to see anything on any window, not even the debugger ... – nars – 2017-08-09T11:58:49.767

1@Coldblackice: ... then to workaround that I did use two Windows sessions (i.e. two user accounts), one just to run the debugger and attaching it to the dwm.exe from the other session, then swtch user to that other session and run some program that triggers the message (I used vnc), it will trigger the breakpoint and freeze gui as debugger will pause, then you hit ctrl+alt+del and switch to the 1st session to use the debugger... you see what I mean. – nars – 2017-08-09T11:59:14.837

1

@Coldblackice: I did take this screenshot when I did it: https://s2.postimg.org/9cryvnms9/dwm-p.png (maybe it helps you locate it) Btw, if your md5 doesn't match then I guess you don't have Windows 7 SP1 x64? As I did found same exact file even on different language Windows versions.

– nars – 2017-08-09T12:01:10.217

@nars Thanks! This is great. Going to try this out. Re: the hashes, it's strange, I have a different hash, however, I can see an "archived" version of dwm.exe on my drive that shows your same hash: dwm.exe hashes I'm assuming your dwm.exe has the same symbolic link to the longer folder name(s)?

– Coldblackice – 2017-08-10T19:28:22.863

@Coldblackice: I guess maybe some relatively recent update changed your file... my W7 system haves most critical updates applied (but not all really, I did got lazy on updates for that system since around the last year, also because ms started to release all that telemetry and w10 notif crap...) and I don't have the new file... but looking at version number on your winsxs path (6.1.7601.23403) I guess you applied KB3125574 convenience roll-up? I guess it's a new file from that update... I will try to get time to look at it... – nars – 2017-08-11T22:52:53.960

@Coldblackice: Yes, I did check and that's it, the dwm.exe file updated by KB3125574 convenience roll-up matches your md5. I did just update my reply to include instructions for the new file. Btw, screenschot with the new file on debugger: https://s28.postimg.org/61sh5ykkt/dwm-23403-p.png ;)

– nars – 2017-08-13T00:30:01.503

Excellent: I have the first binary. Copied dwm.exe to dwm.bin, used gvim (vim) to edit it -- had to only search on the 4st four nibbles -- was about the 4th or 5th match down and the full hex matched. Patched it. Copied dwm.exe to dwm.exe.orig, then stopped dwm, copied the .bin file to dwm.exe then restarted it. Haven't seen that message yet and according to ProcessHacker, my GPU mem usage hit 3.9GB (100% of dedicated). no messages and desktop still running w/transparency. (the desktop is one reason I am waiting on upping to win10)...I don't want my desktop to "go backward". – Astara – 2017-08-27T00:20:26.110

Note that you will need to unlock dwm.exe in order to replace it, as it is a locked operating system file. You can do so using takeown and cacls ( takeown /f C:\Windows\System32\dwm.exe --- and --- cacls C:\Windows\System32\dwm.exe /G <YOUR-USER-NAME-HERE>:F ). After replacing the file, make sure that you go into the advanced security properties and re-enable "Include Inheritable permissions from this object's parent", or Windows will refuse to load it (and you will be stuck without composition.) – Nameless Voice – 2017-11-02T02:31:06.623

Can't tell if it worked or not but i made the modification. This is truly awesome. The next step would be to automate this process but i guess that would be version specific so it would be impossible to automate this change for future versions as the hex string changes if dwm.exe version changes – TMRW – 2017-11-06T08:49:58.920

8

You are running out of GPU memory. This may be :

  1. A bug in a graphical-intensive program that you are using (such as a game)
  2. A bug in the video driver,
  3. A resource-starved computer.

As you are running Windows 7 x64, the third possibility doesn't probably apply.

For the second possibility, you could update your video driver to the latest version as found on the manufacturer's website.

For the first possibility, if this is always happening when running the same program, then it might have compatibility problems with the Aero theme. To disable Aero while running that application, modify the Properties of its executable to "Disable desktop composition" :

enter image description here

harrymc

Posted 2011-07-24T22:44:55.300

Reputation: 306 093

Sidenote: You can only disable desktop composition for x86 executables, and some specifically compiled x64 executables. – Fake Name – 2016-12-22T03:19:23.573

1None of your proposals are true. The problem is NOT that I'm running low (or out of) GPU memory, but that Win7 has a bug in that it uses archaic percentages for what it thinks is low GPU memory. (67% for warning, and, it seems, 75% for mandatory toggle). Problem is, if you have 4GB memory, that 67% message kicks in with over 1.2GB free. It's to swap/paging file advice from years ago vs. now. Recommendation used to be to size swap/page @ 2X memory size. When I had 512MB memory, I stopped using swap (w/128GB memory, I still don't need it). The fractions Win uses for limits are outdated. – Astara – 2017-08-26T22:26:07.627

@Astara: They might not be true for you now. Please be careful commenting on answers dating from 6 years ago - technology does evolve. Downvoting today such an old answer is really a waste of your reputation. – harrymc – 2017-08-27T07:04:51.737

@harrymc -- they weren't true 6 years ago either. I've had Win7 since its released date. The behaviors haven't changed. The only answer that fixes (vs. working around it) the problem here (not that it is ideal in that it modifies system files) is the one by nars. Turning off 'desktop composition' doesn't fix the underlying bug in Windows -- its a workaround that has other side effects. – Astara – 2017-08-27T15:53:49.917

@Astara: Well, true enough to fix one guy's problem who rewarded me with a bounty. A better fix might exist, but the best part about our forum is the number of solutions, and it's a given that not all of them work for everybody. – harrymc – 2017-08-27T16:54:25.520

@harrymc -- see my explanation to question https://superuser.com/questions/1094649/win7-keeps-warning-me-about-slow-performance-and-disables-aero-ui-effects-i/1244714#1244714. It shows a graph of GPU mem usage and clearly shows that a memory shortage is not the problem (w/over 1GB left when the message prompt comes up). 1GB is more than enough by 3X for all the needs of the WinDesktopManager (uses less than 300MB of GPU mem).

– Astara – 2017-08-31T18:11:53.163

0

Is there some reason why Windows is ignoring/forgetting my attempts to suppress the dialog?

No - window should not be displayed again if you answer that, but it happens anyway.

I believe the dialog appears because I'm forcing Vsync and Triple Buffering for DirectX applications.

No, it's not because of that. First of all - Desktop Composition forces system (but not games, they uses DirectX) to work in vertical sync mode and gives you possibility to use nice features like Win+Tab (for example), so disabling it, like many people says, is not a solution, it's method for degrading your system and really bad workaround. Some programs works better with Desktop Composition enabled because of that vsync (like some movie players - it prevents tearing), some works better with Desktop Composition disabled (some window with dot-type borders moves really slow when DC is enabled, also gfx program like old Corel can works much slower), but new programs always works good, so leave Desktop Composition enabled.

For now I recommend to wait until MS releases any fix for that annoying behaviour. For sure do not disable Desktop Composition if you like new Win7 features or Vsync.

Franciszek Baranowski

Posted 2011-07-24T22:44:55.300

Reputation: 29

found that the message was displayed once/binary start. Each time I restarted the binary, it re-asked the question, but then kept the message "disabled" for that 1-binary, for the rest of its run. So dialog was partially suppressed in my case. As for the other -- might not triple buffering use more video memory and contribute to the problem (I would agree that Vsync probably wasn't an issue). – Astara – 2017-08-27T00:25:00.460