GPU non al 100%: come riconoscere un collo di bottiglia della CPU

Un utilizzo basso della GPU ha almeno otto spiegazioni e solo una di esse è un limite della CPU — ecco l'ordine con cui escluderle, a partire da un esperimento gratuito che risolve la questione in due minuti.

Il tuo overlay dice che la scheda video è al 60% e il frame rate è più basso di quello che ti aspettavi. Qualcuno ti dice che è un collo di bottiglia della CPU, e cominci a leggere di processori.

Forse. Ma «GPU sotto il 100%» ha almeno otto spiegazioni, quasi tutte non costano niente da controllare, e un vero limite della CPU è solo una di queste. Questa pagina le esclude una alla volta.

Prima di tutto, che cos'è davvero quella percentuale

L'utilizzo della GPU è la quota di tempo in cui la GPU aveva del lavoro in corso — non quanto duramente ha lavorato. Una scheda che se ne sta tranquilla su un carico banale può segnare 100% perché c'era sempre qualcosa in coda, e una scheda che fa tutto quello che le viene chiesto può segnare 60% perché la coda continuava a svuotarsi. È un primo indizio e niente di più: da solo non può dirti che cosa stesse aspettando la GPU.

L'esperimento che chiude la questione in due minuti

Fallo prima di ogni altra cosa, perché è gratis ed è decisivo.

  1. Segnati il tuo frame rate in una scena ripetibile.
  2. Abbassa la risoluzione di parecchio — non di uno scalino, di un salto grosso.
  3. Misura di nuovo la stessa scena.

Se il frame rate quasi non si muove, il tuo limite non era la GPU. Le hai tolto gran parte del lavoro e non hai avuto niente in cambio, quindi il ritmo lo stava dettando qualcos'altro.

Se il frame rate sale più o meno in proporzione, alla fine eri limitato dalla GPU e la cifra dell'utilizzo ti stava ingannando.

La diagnosi è tutta qui, e non serve nessuno strumento. Tutto quello che c'è sotto serve a identificare che cos'è quel qualcos'altro.

Le spiegazioni che non costano niente, in ordine

1. Sei a un limite

Se il numero su cui ti fermi è esattamente la tua frequenza di aggiornamento, il limite di frame rate impostato nel gioco, un limite lato driver o il limite automatico di una funzione per la latenza, non c'è nessun collo di bottiglia — la GPU sta ferma perché le hai detto tu di fermarsi. È un falso allarme, e si esclude in dieci secondi.

2. La scheda è trattenuta, non lasciata ferma

Una GPU che non sale in boost non è la stessa cosa di una GPU che non ha lavoro da fare. Sotto carico è il driver stesso a dire perché sta tenendo giù i clock: protezione termica, un limite di potenza impostato sotto quello di fabbrica, un'applicazione che gli ha chiesto di rallentare, oppure un connettore di alimentazione PCIe mancante o non inserito bene. L'ultimo caso è una scheda che si rifiuta di salire in boost finché non la colleghi come si deve — un problema di cavo, non un'impostazione. La scansione degli scatti chiede questo al driver sotto un carico breve e riporta i motivi che ha dichiarato.

3. Il gioco è stato ristretto a una parte del processore

Invisibile, se non vai a cercarlo. Una maschera di affinità ristretta o un CPU set predefinito sul processo del gioco vogliono dire che tutto quello che il gioco fa deve stare su quei processori mentre il resto della macchina se ne sta fermo. Tra le origini ci sono un vecchio script di ottimizzazione, un collegamento con start /affinity copiato da un forum, o uno strumento per i processi configurato una volta e dimenticato.

Come lo scopri: Gestione attività → Dettagli, tasto destro sul gioco, Imposta affinità. Se non sono selezionati tutti i processori, la risposta è questa — allargala lì, oppure togli la regola nello strumento che l'ha scritta.

4. Il gioco gira sulla scheda video sbagliata

Su un portatile, o su un fisso con la grafica integrata attiva, un gioco può finire per essere disegnato dall'adattatore più debole. La scheda dedicata a quel punto riporta onestamente un utilizzo basso: non sta facendo niente. Su quale scheda video gira un gioco spiega come togliere una preferenza impostata per il singolo gioco.

5. Il collegamento PCIe è più stretto di quanto dovrebbe

Vale la pena controllarlo una volta, e vale la pena non ingigantirlo. Metà delle linee alla stessa generazione può essere il progetto della scheda madre — un disco M.2 alimentato dalle linee del processore si divide lo slot della scheda video — e dimezzare il collegamento non dimezza il frame rate; quanto costi sulla tua scheda video qui non è stato misurato. Il caso su cui vale la pena intervenire è un collegamento agganciato più in basso di quanto entrambe le estremità supportino: un riser, un contatto al limite, una linea che non è salita. Rimonta la scheda.

6. La GPU sta aspettando dei dati, non la CPU

Un frame che non è ancora stato messo insieme lascia ferma la GPU, e il motivo può essere la lettura lenta di un asset, uno shader che viene compilato, o pagine che tornano dal disco. In un grafico dell'utilizzo questo è identico a un limite della CPU, ed è un problema diverso — vedi cali di FPS improvvisi nei giochi.

7. Qualcos'altro ha preso il core che serve al thread di rendering

L'utilizzo totale della CPU qui è il numero sbagliato. Un solo core completamente saturo su una macchina a otto core si legge come un totale modesto, e un'attività in background che tiene quel core si mette in coda davanti al thread di rendering.

Che aspetto ha un vero limite della CPU

Quando l'elenco qui sopra è esaurito, il caso che resta è autentico e ha una forma riconoscibile:

Una cattura registra anche quanta parte dell'esecuzione è stata passata bloccata dentro la chiamata di presentazione — quella è pressione della GPU e della coda, e più è alta, meno un cambiamento negli FPS medi dice qualcosa sul lato CPU. Leggere il benchmark copre il resto.

Che cosa fare con un vero limite della CPU

La risposta onesta è che in gran parte questo non è un problema di software, e le pagine che fanno finta del contrario sono il modo in cui la gente finisce con in mano liste di chiavi di registro.

Che cosa non aiuterà

Disattivare il multithreading simultaneo o gli efficiency core: i numeri dietro a quel consiglio vengono da fonti che non hanno pubblicato nessun metodo, quindi scambieresti capacità multi-core certa con un guadagno non verificato. I valori di gestione della memoria del kernel e le forzature della risoluzione del timer: qui rifiutati in blocco, e non misurati da nessuna parte. I pulitori di memoria: su una macchina a cui la memoria non manca, liberarne dell'altra non cambia niente di misurabile.

Correlati

Giochi a CS2? Quali opzioni di avvio fanno ancora qualcosa e dove stanno davvero i frame nel menu video: CS2, pochi FPS e scatti: una lista di controllo misurata

w0a non cambia nessuna impostazione di Windows finché non glielo chiedi, e un tweak salva il valore precedente prima di scriverne uno nuovo. Avvisami

Questa pagina ti è stata utile?

Cosa mancava, o cosa non ha funzionato? Le leggiamo tutte, una per una.

Se questa pagina non ha risolto il problema, scrivici — dicci quale articolo hai letto, e sistemiamo l'articolo.