Je suis constamment dans une situation similaire, même si je ne reçois jamais exactement le même message, et j'ai fait quelques tests.
D'après ce que j'ai compris, la ressource principale qui est mise à l'épreuve ici, c'est le Mémoire du GPU . Mais cela n'indique pas nécessairement que vous êtes en train d'épuiser cette ressource en général. Cela peut simplement signifier que le gestionnaire de fenêtres du bureau a détecté que vous exécutez si bas qu'une fonctionnalité spécifique de ce service pourrait être désactivée pour libérer plus de mémoire.
Pour tester cela, j'ai commencé à ouvrir des applications gourmandes en mémoire GPU :
Il s'agit d'une utilisation légèrement supérieure à la moyenne sur ma configuration à trois écrans 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 c'est votre scénario d'utilisation habituel, vous avez déjà un problème.
J'ai dû pousser un peu plus loin et lancer quelques instances supplémentaires de Visual Studio...
...jusqu'à ce qu'il approche de la marque des 1,5 Go et...
SNAP ! Cela a amené Windows à tuer complètement la composition de bureau (et à libérer de précieuses ressources).
Maintenant, lorsque je suis déjà à un niveau critique, et que je lance 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 fait tourner Black tabla pendant un certain temps en 2560x1440 avec le maximum de détails :
On peut donc en déduire deux choses. Alors que le dépassement de la limite des 75 % sur le bureau peut obliger Windows à désactiver la composition du bureau, lorsque cette limite est atteinte dans une application en plein écran (et, éventuellement, en quittant cette application), la composition du bureau n'est pas désactivée.
Deuxièmement, lorsque vous êtes dans votre jeu, vous pouvez avoir l'idée "Hé, j'ai assez de ressources pour faire tourner ce jeu, pourquoi n'ai-je pas assez de ressources pour le bureau ?". La raison en est que les deux requièrent de la mémoire en même temps.
Il se peut que Windows ne soit en mesure de vous informer sur la situation de la mémoire qu'après avoir quitté le jeu. Donc, quand je démarre un autre Visual Studio après en sortant de Black tabla...
Alors, que pouvons-nous faire à ce sujet ?
Obtenir 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 que la composition du bureau est temporairement désactivée pendant l'exécution de l'exécutable. Dans mes tests, cela a permis de réduire considérablement la consommation globale de mémoire pendant l'exécution de l'application :
L'avis de prime mentionne que ce 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 la désactiver :
Je veux juste me débarrasser de ce message ennuyeux !
Ce n'est pas parce que vous supprimez l'avertissement " Votre batterie est presque vide ! Vous ne pouvez plus parler que pendant 10 minutes ! "ne signifie pas que vous pouvez parler pendant plus de 10 minutes. En fait, il est fort probable que votre téléphone s'éteigne tout simplement et c'est tout. En quoi cela constitue-t-il une amélioration ?
Je n'ai jamais supposé que le message pouvait être désactivé et je ne vois pas comment cela pourrait être considéré comme un avantage.
Tu peux penser que tu sais mieux, mais ce n'est pas le cas. Si le système vous dit qu'il est à court de ressources, c'est qu'il l'est.
Mais ce n'est pas le cas ! Je sais !
Partons du principe 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 n'est qu'un simple désagrément. Que faire maintenant ?
Le truc, c'est que moi aussi, personnellement, je suis touché par ça et ça m'agace au plus haut point. 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.
Lorsque cela se produit, je lance généralement rapidement un script qui appelle
net stop uxsms & net start uxsms
Voici le script complet. Il va ouvrir une invite UAC et redémarrer le service pour 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 aussi vous construire un environnement de jeu spécial où vous arrêtez le service avant de commencer le jeu pour combattre tout ce comportement. Cependant, cela entraînera un comportement identique à celui de la désactivation de la composition du bureau pour un seul exécutable via les propriétés du fichier.