Je suis constamment dans la même situation, même si je n'ai jamais reçu exactement le même message et que j'ai fait quelques essais.
À ma connaissance, la ressource principale soumise aux contraintes est la mémoire du processeur graphique . Mais cela ne signifie pas nécessairement que vous manquez de cette ressource en général. Cela pourrait simplement signifier que le Gestionnaire de fenêtres de bureau a détecté que vous exécutez une charge si faible qu’une fonctionnalité spécifique de ce service peut être désactivée pour libérer de la mémoire.
Pour tester cela, j'ai commencé à ouvrir des applications gourmandes en mémoire GPU:
Cette utilisation est légèrement supérieure à la moyenne sur ma configuration triple écran avec quelques lecteurs clés en cours d'exécution (Visual Studio 2012 (accélération matérielle activée), PhpStorm, Aptana Studio, Chrome, Firefox, IE, ...). Donc, oui, si vous n'avez qu'une carte de 1 Go et que cela correspond à votre scénario d'utilisation habituel, vous avez déjà un problème.
Je devais pousser un peu plus loin et démarrer deux autres instances de Visual Studio ...
... jusqu'à atteindre la barre des 1,5 Go et ...
CLAQUER DES DOIGTS! Windows a donc complètement éliminé la composition de postes de travail (et libéré de précieuses ressources).
Maintenant, lorsque je suis déjà à un niveau critique et que je démarre une application qui utilise une quantité excessive de mémoire GPU en plein écran , je peux même aller au-delà de cette limite critique. Voici le résultat après avoir exécuté Black Mesa pendant un certain temps sur 2560x1440 au maximum:
Donc, deux choses peuvent être déduites de cela. Lorsque vous dépassez la barre des 75% sur le bureau, Windows peut forcer la désactivation de la composition du bureau. Toutefois, lorsque la limite est atteinte dans une application plein écran (et éventuellement en la quittant), la composition du bureau n'est pas désactivée.
La deuxième chose est que, pendant que vous êtes dans votre jeu, vous pouvez avoir l’idée "Hey, j’ai assez de ressources pour exécuter ce jeu, pourquoi n’ai-je pas assez de ressources pour le bureau?". La raison en est que les deux nécessitent de la mémoire en même temps.
Windows ne pourra peut-être vous informer de la mémoire que lorsque vous aurez quitté le jeu. Ainsi, lorsque je lance un autre Visual Studio après avoir quitté Black Mesa ...
Alors, que pouvons-nous faire à ce sujet?
Obtenez plus de mémoire GPU
Doux et simple.
Désactiver la composition du bureau (par processus)
Comme cela a déjà été suggéré, vous pouvez désactiver la composition du bureau pour un seul exécutable. Cela a pour effet de désactiver temporairement la composition du bureau pendant l'exécution de l'exécutable. Cela a considérablement réduit la consommation globale de mémoire pendant l'exécution de l'application dans mes tests:
L'avis de prime mentionne que cela n'est pas souhaitable, car cela représente potentiellement beaucoup de travail.
Désactiver la composition du bureau (globalement)
Je ne considérerais pas cela comme une solution, car la composition du bureau est généralement souhaitée. Mais c'est ici qu'il faut le désactiver:
Je veux juste me débarrasser de ce message agaçant!
Ce n'est pas parce que vous supprimez l'avertissement " Votre batterie est presque vide! Vous ne pouvez parler que 10 minutes de plus! " Ne signifie pas que vous pouvez parler plus de 10 minutes. En fait, votre téléphone sera probablement tout simplement éteint et le tour est joué. Maintenant, comment est-ce une amélioration?
Je n'ai jamais supposé que le message pouvait être désactivé et je ne vois pas en quoi cela pourrait être considéré comme un avantage.
Vous pensez peut-être que vous savez mieux que vous, mais vous ne le savez pas. Si le système vous dit qu'il manque de ressources, c'est bien le cas.
Mais ça ne l'est pas! Je connais!
Ok, supposons que Windows n’est pas assez intelligent pour détecter la situation particulière dans laquelle vous vous trouvez et que le message d’avertissement est tout simplement un inconvénient gênant. Et maintenant?
Le fait est que, personnellement, je suis aussi touché par cela et que ça me gêne énormément. Parce que je ne reçois même pas ce message d'avertissement. Windows change simplement mon profil de couleur et c'est tout. Et j'aime ça en fait.
Quand cela se produit, j’exécute généralement rapidement un script qui appelle
net stop uxsms & net start uxsms
Voici le script complet. Il ouvrira une invite UAC et redémarrera le service afin qu'il puisse être déclenché de n'importe où. Je l'ai épinglé au menu de démarrage.
@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
Cela redémarre le gestionnaire de fenêtres du bureau et me ramène à mon bureau composé (et libère beaucoup de ressources dans le processus, yay).
Sachant cela, vous pouvez également créer vous-même un environnement de jeu spécial dans lequel vous arrêtez le service avant de commencer le jeu pour combattre tout ce comportement. Cependant, cela entraînera un comportement identique en désactivant la composition du bureau pour un seul exécutable via les propriétés du fichier.