Come ridurre l'utilizzo della CPU di Google Chrome?


50

Ho iniziato a utilizzare Google Chrome (aggiornato) su Windows 7 (tutto aggiornato) su un'installazione pulita che ho fatto pochi giorni fa e rispetto a Firefox sto vedendo enormi picchi di CPU (fino al 100% di utilizzo della CPU) all'apertura schede vuote . Ho provato a disattivare funzionalità come la previsione di rete e così via senza alcun effetto.

Esiste un modo per ridurre la quantità di utilizzo della CPU da parte di Chrome?

Ecco una cosa strana che ho notato che mi disturba: quando sto riproducendo video / audio di YouTube (sia la versione flash che la versione HTML5) quando faccio clic sul pulsante più in alto per aprire alcune nuove finestre, provoca il video / audio in ritardo. Non utilizzo nulla di simile quando utilizzo Firefox. La cosa più strana è che non succede anche quando apro le nuove pagine in un altro profilo Chrome o nella navigazione privata. Qualche idea sul perché questo stia accadendo? Queste pagine non dovrebbero essere mantenute nei loro processi separati? Perché la differenza tra aprirli in un altro profilo e nello stesso profilo?


2
Eventuali plug-in installati in Chrome?
Dave,

7
Maiusc + ESC => Task Manager per Chrome
ta.speot.is

Risposte:


48

Innanzitutto, controlla se non sono estensioni o plug-in o alcuni operatori in background utilizzati da un sito (per aprire Chrome Task Manager, premi Maiusc + Esc o Menu → Altri strumenti → Task Manager).

In caso contrario, suppongo che ciò sia legato all'accelerazione hardware. Ma nota che non vedo questa causa da anni, sicuramente non da Windows 8.

Innanzitutto, disattiva l'accelerazione hardware nella parte inferiore della pagina delle impostazioni principali (fai clic su Mostra impostazioni avanzate ... in fondo chrome://settings, scorri fino alla fine, deseleziona Usa accelerazione hardware quando disponibile ). Le versioni recenti di Chrome chiedono di riavviare, ma dalla mia esperienza questa opzione viene applicata immediatamente, almeno parzialmente.

Se i rallentamenti non sono scomparsi anche dopo il riavvio di Chrome, apri chrome://flags(inseriscilo nella barra degli indirizzi di Chrome e premi Invio) e configura come segue:

  • Disabilita tela 2D accelerata - Disabilita
  • Rasterizzazione GPU - Disabilita
  • Decodifica video con accelerazione hardware - Disabilita
  • Rasterizzatore a copia zero - Disabilita

(che era per Chrome 53.0.2785.89, altre opzioni potrebbero essere disponibili su sistemi meno recenti, in cui Chrome non si aggiorna, ad esempio:

  • Disabilita DirectWrite - Abilita
  • Abilita rasterizzatore a una copia : disabilitato
  • Abilita rasterizzatore zero-copia - Disabilita
  • Disabilita decodifica video con accelerazione hardware - Abilita

)

quindi fai clic su Riavvia ora nella parte inferiore della finestra.

Se tutto andrà bene (ma forse un po 'più lento nel complesso), puoi ripristinare le opzioni una per una fino a quando non ne trovi una che causa il problema.

(se non trovi un'opzione nell'elenco dei flag, saltala. Forse cerca anche altre opzioni su GPU e accelerazione hardware e assicurati che l'accelerazione HW e l'utilizzo della GPU siano disabilitati. Chrome ottiene aggiornamenti abbastanza spesso e i flag vengono aggiunti e rimossi in quasi ogni versione).

Risposte alle domande:

Esiste un modo per ridurre la quantità di utilizzo della CPU da parte di Chrome?

se questi picchi sono causati dal motore Chrome nativo (ad esempio JavaScript o HTML parser), allora no. Ma molto probabilmente si tratta di estensioni o videodriver buggy (le loro funzioni vengono utilizzate per l'accelerazione hardware).

quando faccio clic sul pulsante più in alto per aprire alcune nuove finestre, il video / audio viene ritardato. <…> Qualche idea sul perché questo stia accadendo?

solo ipotesi. L'estensione o il plug-in possono causare questo, oppure l'aggiunta di un altro livello alla finestra composta causa un ritardo del videodriver (finestra composta - con più livelli e alcuni di essi resi dall'hardware, ad esempio dalla decodifica video dell'hardware). Questo è il motivo per cui ho suggerito di disattivare l'accelerazione hardware e il controllo.

Queste pagine non dovrebbero essere mantenute nei loro processi separati?

sono effettivamente mantenuti, ma esiste un processo principale (per profilo) che fornisce informazioni alla finestra. Se questo processo si interrompe per qualche motivo, gli aggiornamenti delle finestre verranno interrotti e sembrerà che Chrome non stia rispondendo. Immagino che anche il suono venga emesso attraverso quel processo principale, ecco perché anche il suono è in ritardo.

È possibile controllare la struttura dei processi con Process Explorer .

Perché la differenza tra aprirli in un altro profilo e nello stesso profilo?

Le estensioni e le impostazioni del plug-in sono per profilo e le estensioni sono disattivate per impostazione predefinita in modalità di navigazione in incognito. Questo è il motivo per cui potrebbe comportarsi in modo diverso con profili diversi (anche con un singolo processo Chrome principale).


1
Stavo avendo lo stesso problema. Dopo la risposta di LogicDaemon sono entrato in chrome: // flags e ho iniziato ad abilitare e disabilitare i valori uno alla volta. Abilitare "Disabilita DirectWrite" sembra aver risolto il problema per me.

2
Dopo aver abilitato l'accelerazione hardware , l'utilizzo della cpu è diminuito. Fin qui tutto bene. Grazie.
Mukesh Chapagain,

@MukeshChapagain intendi, l'accelerazione hardware è stata disabilitata di default per te? In realtà l'accelerazione hardware è esattamente per ridurre il carico della CPU ed è attivata per impostazione predefinita; ma a volte fa il contrario a causa di driver video difettosi.
LogicDaemon

Penso di averlo disabilitato prima, ma non ricordo perché.
Mukesh Chapagain,

So che l'OP ha chiesto di Windows. Qualcuno sa se queste stesse bandiere sono disponibili in Ubuntu 14.04 per Chrome 47? Vedo solo Disable accelerated 2D canvase Enable zero-copy rasterizer, ma non Disable DirectWrite. Ciò che è interessante Disable hardware-accelerated video decodeesiste, ma dice "Siamo spiacenti, questo esperimento non è disponibile sulla tua piattaforma". Quindi perché non vedo quello su DirectWrite? Forse è stato rimosso negli ultimi 2 anni?
Tyler Collier,

2

Ripristina Google Chrome:

  1. Fai clic sul menu Chrome sulla barra degli strumenti, quindi fai clic su "Impostazioni".

  2. Seleziona "Mostra impostazioni avanzate" nella parte inferiore della pagina, quindi fai clic su "Ripristina impostazioni browser".

  3. Fai clic su "Ripristina" per ripristinare la configurazione del browser predefinita.


1

Un trucco che ho imparato da alcuni siti:

  • Utilizzare –-purge-memory-buttonnella riga di comando di Chrome e fare clic Purge memorysu Task Manager di Chrome per liberare memoria (se possibile)

Ovviamente, basta disabilitare le estensioni e anche questo ti farà risparmiare memoria.

Inoltre, alcuni siti hanno menzionato FooTab , un'estensione che mette in pausa tutte le altre schede all'avvio fino al caricamento.


0

Aprire chrome://flagse cercare delegated renderere vedere se è possibile abilitare il flag per abilitare il renderer delegato, noto anche come Übercompositor. Devi anche essere sicuro di aver abilitato il rendering accelerato poiché si basa sulla GPU. Puoi verificarlo chrome://gpusull'URL.

Quello che fa è fare in modo che il processo di rendering salti il ​​passaggio di composizione e invii comandi di disegno di alto livello al processo del browser, unendolo con il proprio passaggio di composizione. Ciò riduce il tasso di riempimento della GPU e un ottimo modo per aiutare a ridurre la potenza utilizzata.


3
delegated rendererè una bandiera Android: il poster indica chiaramente che si trova su Windows.
porro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.