2011-07-24 22:44:55 +0000 2011-07-24 22:44:55 +0000
122
122

Disattivare "Vuoi cambiare lo schema dei colori per migliorare le prestazioni?" avviso

A volte questa finestra di dialogo si aprirà (vedere l'immagine qui sotto). Ogni volta che appare seleziono “Mantieni la combinazione di colori attuale e non mostrare più questo messaggio”. Windows mi ricorda poi di nuovo - o il giorno dopo o dopo il riavvio, o a volte altri 5 minuti dopo.

Vuoi cambiare lo schema di colori per migliorare le prestazioni?

Windows ha rilevato che le prestazioni del tuo computer sono lente. Questo potrebbe essere dovuto al fatto che non ci sono abbastanza risorse per eseguire la combinazione di colori di Windows Aero. Per migliorare le prestazioni, provare a cambiare la combinazione di colori in Windows 7 Basic. Qualsiasi modifica effettuata sarà valida fino alla prossima connessione a Windows

  • Cambia la combinazione di colori in Windows 7 Basic
  • Mantieni la combinazione di colori attuale, ma chiedimi di nuovo se il mio computer continua a funzionare lentamente
  • Mantieni la combinazione di colori attuale, e non mostrare più questo messaggio

C'è qualche ragione per cui Windows ignora o dimentica i miei tentativi di sopprimere la finestra di dialogo? Mi piacerebbe non vederlo mai più, è fastidioso, e mi toglie le applicazioni a schermo intero.

Se è importante, sto eseguendo Windows 7 x64 Professional. Credo che il dialogo appaia perché sto forzando Vsync e Triple Buffering per le applicazioni DirectX.

Risposte (5)

74
74
74
2011-07-24 23:49:18 +0000

Supponendo che vi rendiate conto che questo messaggio vi informa che il vostro sistema ha poche risorse e vi chiede di disattivare Aero in modo che possa continuare a funzionare alla velocità ottimale,

  1. 1. Andare al menu Start e digitare Action Center nella casella Cerca
  2. 2. Avviare (dovrebbe essere la voce in alto, sotto il gruppo “Pannello di controllo”)
  3. 3. Sulla barra laterale sinistra, cliccare su Change Action Center settings
  4. 4. Deselezionare la casella di controllo Windows Troubleshooting, sotto “Messaggi di manutenzione”.
  5. Fare clic sul pulsante Ok e il gioco è fatto.

Ecco uno screenshot della schermata di impostazione:

In alternativa:

  • Si può provare a mantenere questa impostazione così com'è e passare alla modalità desktop Basic prima di lanciare le applicazioni che di solito accendono questa notifica del Centro Azioni. Oppure,
  • È possibile fare clic con il tasto destro del mouse sulle icone utilizzate per avviare queste applicazioni a schermo intero, facendo clic sulle proprietà e sotto la scheda Compatibilità selezionare Disable desktop composition. Questo disabiliterà il servizio Desktop Window Manager Session Manager durante l'esecuzione di questa applicazione che aumenterà la memoria di sistema e video ed eviterà alcune incompatibilità dell'applicazione. Una causa probabile per il vostro messaggio del Centro d'Azione se avete abbastanza memoria di sistema e video ma siete stuill di ricevere questo messaggio con certi giochi o applicazioni a schermo intero.
28
28
28
2012-11-03 13:35:57 +0000

Mi trovo costantemente in una situazione simile anche se non ricevo mai lo stesso identico messaggio, e ho fatto un po’ di test in giro.

Per quanto ne so, la risorsa principale che è sotto stress qui, è la Memoria GPU. Ma questo non indica necessariamente che si stia esaurendo questa risorsa in generale. Potrebbe semplicemente significare che il Desktop Window Manager ha rilevato che si sta eseguendo così basso che una caratteristica specifica di questo servizio potrebbe essere disabilitata per liberare più memoria.

Per testare questo, ho iniziato ad aprire applicazioni ad alta intensità di memoria della GPU:

Questo è un po’ al di sopra della media nella mia configurazione a triplo schermo con alcuni giocatori chiave in esecuzione (Visual Studio 2012 (accelerazione hardware abilitata), PhpStorm, Aptana Studio, Chrome, Firefox, IE, …). Quindi, sì, se hai solo una scheda da 1 GB e questo sarebbe il tuo scenario di utilizzo abituale, avresti già un problema.

Ho dovuto spingere un po’ più in là e avviare un altro paio di istanze di Visual Studio…

…fino a quando non si è avvicinato alla soglia di 1,5 GB e…

SNAP! Questo ha fatto sì che Windows uccidesse completamente il compositing del desktop (e liberasse alcune risorse preziose).

Ora, quando sono già a un livello critico, e avvio un'applicazione che utilizza quantità eccessive di memoria GPU a schermo intero , posso anche andare oltre questo limite critico. Ecco il risultato dopo aver eseguito Black Mesa per un po’ di tempo su 2560x1440 al massimo dei dettagli:

Quindi, da questo si possono dedurre due cose. Mentre andare oltre la soglia del 75% sul desktop può costringere Windows a disabilitare la composizione del desktop, quando si raggiunge lo stesso limite in un'applicazione a schermo intero (e, facoltativamente uscendo da quell'applicazione) la composizione del desktop non viene disabilitata. La seconda cosa è che, mentre sei nel tuo gioco, puoi farti venire l'idea “Ehi, ho abbastanza risorse per eseguire questo gioco, perché non ho abbastanza risorse per il desktop? Il motivo è che entrambi richiedono memoria allo stesso tempo.

Windows potrebbe essere in grado di dirti la situazione della memoria solo dopo che sei uscito dal gioco. Quindi, quando avvio un altro Visual Studio dopo l'uscita di Black Mesa…

Allora, cosa possiamo fare?

Ottenere più memoria GPU

Dolce e semplice.

Disabilitare la composizione del desktop (per processo)

Come già suggerito, è possibile disabilitare la composizione del desktop per un singolo eseguibile. Questo ha l'effetto di disabilitare temporaneamente la composizione del desktop durante l'esecuzione dell'eseguibile. Questo ha ridotto drasticamente il consumo complessivo di memoria mentre l'applicazione viene eseguita nei miei test: &004

L'avviso di bounty menziona che questo non è auspicabile, in quanto si tratta di un lavoro potenzialmente molto impegnativo.

Disabilita composizione desktop (globalmente)

Non lo considererei una soluzione, in quanto la composizione desktop è di solito desiderata. Ma ecco dove disattivarla:

&004

Voglio solo liberarmi del fastidioso messaggio!

Solo perché si toglie l'avviso ” *La tua batteria è quasi scarica! Puoi parlare solo per altri 10 minuti! *“ non significa che puoi parlare per più di 10 minuti. Infatti, molto probabilmente il tuo telefono si spegnerà semplicemente e questo è tutto. Ora, come può essere un miglioramento?

Non ho mai dato per scontato che il messaggio possa essere spento e non vedo come questo possa essere considerato un vantaggio.

Potresti pensare di saperne di più, ma non è così. Se il sistema vi dice che sta esaurendo le risorse, è così.

Ma non è così! Lo so!

Ok, supponiamo che Windows non sia abbastanza intelligente da rilevare la situazione particolare in cui vi trovate e che il messaggio di avvertimento sia semplicemente un fastidioso inconveniente. E adesso?

Il fatto è che, personalmente, anch'io ne sono colpito e questo mi infastidisce molto. Perché non ricevo nemmeno quel messaggio di avvertimento. Windows cambia semplicemente il mio profilo di colore e questo è tutto. E questo mi piace, in effetti.

Quando succede di solito eseguo rapidamente uno script che chiama

net stop uxsms & net start uxsms

Ecco lo script completo. Aprirà un prompt UAC e riavvierà il servizio in modo che possa essere attivato da qualsiasi luogo. L'ho bloccato nel menu di avvio.

@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
``` &001 


Questo riavvia il Desktop Window Manager e mi riporta al mio desktop composto (e libera molte risorse nel processo, evviva). 


Sapendo questo, puoi anche costruirti un ambiente di gioco speciale in cui fermi il servizio prima di iniziare il gioco per combattere tutto questo comportamento. Tuttavia, questo causerà un comportamento identico a quello di disabilitare la composizione del desktop per un singolo eseguibile attraverso le proprietà del file.
18
18
18
2017-03-31 14:28:04 +0000

Ho ricevuto questo dannato messaggio che mi assillava continuamente (da molto tempo ormai) anche sui PC Windows 7, soprattutto quando vi si accedeva da remoto tramite VNC (di qualsiasi tipo), ma volendo mantenere attiva la composizione di Aero e del desktop (sicuramente non usando il driver mirror VNC altrimenti non c'è Aero di sicuro).

Il passaggio al tema base, anche se temporaneamente, avrebbe per esempio rotto i gui per alcune vecchie applicazioni (come quelle che ottengono la virtualizzazione DPI, disponibile solo con Aero + composizione desktop), questa è stata una delle ragioni per cui ho voluto tenere Aero e la composizione desktop accesi, come impostazione predefinita, ma basta fermare il dannato messaggio, inoltre il sistema stava effettivamente funzionando bene , come molti utenti confermano nei commenti in questa pagina, quindi *il problema era solo il messaggio! *

Scollegare la casella di controllo “Risoluzione dei problemi di Windows” sotto “Messaggi di manutenzione” non è proprio una soluzione, come molti confermano anche nei commenti qui, non funziona, e disabilitare la composizione del desktop è… beh… come dire di spegnere il motore dell'auto perché non funziona correttamente… cioè non è una soluzione…

Dopo essere stato assillato con questo messaggio per molto tempo ho deciso che dovevo davvero fermarlo, poi ho fatto il debug di dwm.exe e finalmente ho trovato come uccidere il messaggio in modo permanente… se vuoi fare lo stesso e hai Windows 7 SP1 x64 (probabilmente è diverso per x86) basta rattoppare il tuo dwm.exe come ho fatto io:

Attenzione: Fate questo solo se sapete cosa state facendo, altrimenti potreste rompere il vostro sistema !!!

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

per 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)
``` &001 



(la patch rimuove semplicemente la chiamata all'api TaskDialogIndirect, responsabile di mostrare la finestra dei messaggi e forza un jmp, che sarebbe stato originariamente preso se il ritorno della chiamata fosse stato un successo. ... il jmp deve essere preso come codice è apparentemente fatto anche solo per passare al tema di base se non può mostrare il messaggio) 


Si noti che per poter fare modifiche/rinominare/sostituire il file dwm.exe è necessario interrompere il servizio "Desktop Window Manager Session Manager" (sui servizi. msc), in modo che smetta di funzionare, e prendere la proprietà del file e regolare i permessi... dato che il file è di proprietà di TrustedInstaller per default... 


Si noti anche che nella mia analisi a dwm.exe ho trovato che ci sono in realtà due di questi messaggi (simili ma non uguali): 


- uno è quello mostrato nella schermata della domanda in alto, questo appare quando dwm. exe sta usando alcune risorse della CPU... qualcosa come il 30% potrebbe essere sufficiente per attivarlo (e VNC lo fa accadere), la mia patch rimuove questo messaggio. 
- c'è un altro messaggio simile, ma con un testo leggermente diverso, che appare quando dwm.exe sta usando troppa memoria della GPU, questo non è quello mostrato nella schermata della domanda e la mia patch non rimuoverà questo messaggio.
8
8
8
2011-11-22 08:57:32 +0000

Si sta esaurendo la memoria della GPU. Questo può essere :

  1. 1. Un bug in un programma ad alta intensità grafica che si sta utilizzando (come un gioco)
  2. Un bug in un programma ad alta intensità grafica che si sta utilizzando (come un gioco)
  3. Un bug nel driver video,
  4. Un computer affamato di risorse.

Poiché si sta usando Windows 7 x64, la terza possibilità non è probabilmente applicabile.

Per la seconda possibilità, si potrebbe aggiornare il driver video all'ultima versione trovata sul sito web del produttore.

Per la prima possibilità, se questo accade sempre quando si esegue lo stesso programma, allora potrebbe avere problemi di compatibilità con il tema Aero. Per disabilitare Aero durante l'esecuzione di tale applicazione, modificare le proprietà del suo eseguibile in “Disabilita composizione desktop” :

0
0
0
2013-05-07 19:20:25 +0000

C'è qualche ragione per cui Windows ignora / dimentica i miei tentativi di sopprimere la finestra di dialogo?

No - la finestra non dovrebbe essere visualizzata di nuovo se si risponde, ma succede comunque.

Credo che la finestra di dialogo appaia perché sto forzando Vsync e Triple Buffering per le applicazioni DirectX.

No, non è per questo. Prima di tutto - Desktop Composition forza il sistema (ma non i giochi, usano DirectX) per lavorare in modalità di sincronizzazione verticale e ti dà la possibilità di usare funzioni simpatiche come Win+Tab (per esempio), quindi disabilitarlo, come molti dicono, non è una soluzione, è un metodo per degradare il tuo sistema e un pessimo workaround. Alcuni programmi funzionano meglio con Desktop Composition abilitato a causa di quella vsync (come alcuni lettori di film - previene lo strappo), alcuni funzionano meglio con Desktop Composition disabilitato (alcune finestre con bordi a punti si muovono molto lentamente quando DC è abilitato, anche il programma gfx come il vecchio Corel può funzionare molto più lentamente), ma i nuovi programmi funzionano sempre bene, quindi lascia Desktop Composition abilitato.

Per ora consiglio di aspettare che MS rilasci qualche correzione per quel comportamento fastidioso. Di sicuro non disabilitare Composizione Desktop se ti piacciono le nuove funzionalità di Win7 o Vsync.