Ich bin ständig in einer ähnlichen Situation, obwohl ich nie genau die gleiche Nachricht bekomme und ein bisschen herumgetestet habe.
Nach meinem Verständnis ist der GPU-Speicher die Kernressource , die hier unter Stress steht . Dies bedeutet jedoch nicht unbedingt, dass Ihnen diese Ressource im Allgemeinen ausgeht. Dies kann nur bedeuten, dass der Desktop Window Manager festgestellt hat, dass Ihnen so wenig Speicherplatz zur Verfügung steht, dass eine bestimmte Funktion dieses Dienstes deaktiviert werden kann, um mehr Speicherplatz freizugeben.
Um dies zu testen, habe ich begonnen, speicherintensive GPU-Anwendungen zu öffnen:
Dies ist eine etwas überdurchschnittliche Verwendung auf meinem Triple-Screen-Setup, auf dem einige wichtige Player ausgeführt werden (Visual Studio 2012 (Hardwarebeschleunigung aktiviert), PhpStorm, Aptana Studio, Chrome, Firefox, IE, ...). Wenn Sie also nur eine 1-GB-Karte haben und dies Ihr gewöhnliches Nutzungsszenario wäre, hätten Sie bereits ein Problem.
Ich musste ein bisschen weiter gehen und ein paar weitere Visual Studio-Instanzen starten ...
... bis es sich der 1,5 GB Marke näherte und ...
SNAP! Dies führte dazu, dass Windows das Desktop-Compositing vollständig abbrach (und einige wertvolle Ressourcen freigab).
Wenn ich mich jetzt bereits auf einem kritischen Level befinde und eine Anwendung starte , die im Vollbildmodus übermäßig viel GPU-Speicher belegt , kann ich diese kritische Grenze sogar überschreiten. Hier ist das Ergebnis, nachdem Black Mesa für eine Weile auf 2560x1440 mit maximalen Details ausgeführt wurde:
Daraus lassen sich also zwei Dinge ableiten. Das Überschreiten der 75% -Marke auf dem Desktop kann dazu führen, dass Windows die Desktop-Komposition deaktiviert, wenn in einer Vollbildanwendung (und optional beim Beenden dieser Anwendung) dieselbe Grenze erreicht wird. Die Desktop-Komposition wird nicht deaktiviert.
Die zweite Sache ist, während Sie in Ihrem Spiel sind, können Sie die Idee bekommen "Hey, ich habe genug Ressourcen, um dieses Spiel auszuführen, warum habe ich nicht genug Ressourcen für den Desktop?". Der Grund ist, dass beide gleichzeitig Speicher benötigen.
Windows kann Sie möglicherweise erst über die Speichersituation informieren, nachdem Sie das Spiel beendet haben. Also, wenn ich nach dem Beenden von Black Mesa ein anderes Visual Studio starte ...
Also, was können wir dagegen tun?
Holen Sie sich mehr GPU-Speicher
Süß und einfach.
Desktop Composition deaktivieren (pro Prozess)
Wie bereits vorgeschlagen, können Sie die Desktop-Komposition für eine einzelne ausführbare Datei deaktivieren. Dies hat zur Folge, dass die Desktop-Komposition vorübergehend deaktiviert wird, während die ausführbare Datei ausgeführt wird. Dies hat den Gesamtspeicherverbrauch drastisch reduziert, während die Anwendung in meinen Tests ausgeführt wird:
Der Kopfgeldbescheid erwähnt, dass dies unerwünscht ist, da dies möglicherweise viel Arbeit bedeutet.
Desktop-Komposition deaktivieren (global)
Ich würde dies nicht als Lösung betrachten, da normalerweise eine Desktop-Komposition gewünscht wird. Aber hier können Sie es deaktivieren:
Ich möchte nur die nervige Nachricht loswerden!
Nur weil Sie die Warnung " Ihr Akku ist fast leer! Sie können nur noch 10 Minuten sprechen! " Entfernen, heißt das nicht, dass Sie länger als 10 Minuten sprechen können. In der Tat wird Ihr Telefon höchstwahrscheinlich einfach ausgeschaltet und das wars. Wie ist das für eine Verbesserung?
Ich habe nie angenommen, dass die Nachricht deaktiviert werden kann, und ich sehe nicht, wie dies als Vorteil angesehen werden kann.
Sie denken vielleicht, Sie wissen es besser, aber Sie tun es nicht. Wenn das System Ihnen mitteilt, dass die Ressourcen knapp werden, ist dies der Fall.
Ist es aber nicht! Ich weiß!
Angenommen, Windows ist nicht intelligent genug, um die spezielle Situation zu erkennen, in der Sie sich befinden, und die Warnmeldung ist einfach eine ärgerliche Unannehmlichkeit. Was jetzt?
Die Sache ist, ich persönlich, ich bin auch davon betroffen und es nervt zur Hölle von mir. Weil ich diese Warnmeldung nicht einmal bekomme. Windows wechselt einfach mein Farbprofil und das wars. Und das gefällt mir eigentlich.
Wenn es passiert, führe ich normalerweise schnell ein Skript aus, das aufruft
net stop uxsms & net start uxsms
Hier ist das vollständige Skript. Es öffnet sich eine UAC-Eingabeaufforderung und der Dienst wird neu gestartet, sodass er von überall aus ausgelöst werden kann. Ich habe es an das Startmenü geheftet.
@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
Dadurch wird der Desktop Window Manager neu gestartet und ich kehre zu meinem zusammengesetzten Desktop zurück (und dabei werden viele Ressourcen freigesetzt).
Wenn Sie dies wissen, können Sie sich auch eine spezielle Spielumgebung aufbauen, in der Sie den Dienst beenden, bevor Sie das Spiel starten, um dieses gesamte Verhalten zu bekämpfen. Dies führt jedoch zu dem gleichen Verhalten wie das Deaktivieren der Desktop-Komposition für eine einzelne ausführbare Datei über die Dateieigenschaften.