Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-drive grouping of Q&A web sites.
The Question
SuperUser reader William Stewart is sick of Windows 7 nagging him:
Clearly William needs a new plan of attack since Windows is ignoring his requests to remember his selection.
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.
The Answers
SuperUser contributor A Dwarf offers a quick and dirty solution for William’s problem:
Another contributor, Oliver Salzburg, delves into the Disable Desktop Composition solution A Dwarf highlights at the end. He writes:
Go to the Start Menu and type Action Center on the Search box Start it (it should be the top entry, under the “Control Panel” group) On the left sidebar, click Change Action Center settings Untick the Windows Troubleshooting checkbox, under “Maintenance Messages”. 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.
Have something to add to the explanation? Sound off in the the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.
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:
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…
…until it was nearing the 1.5 GB mark and…
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 2560×1440 at max details:
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…
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:
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:
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
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.