Vai al contenuto
cinemaOS

Problemi risolti

DaVinci Resolve "GPU memory full" su Mac: come risolvere

DaVinci Resolve segnala GPU memory full su Mac? Perché succede, cosa cambiare prima (risoluzione timeline, riduzione rumore, nodi, media) e come prevenirlo.

Quando DaVinci Resolve dice che la memoria della GPU è piena su un Mac, significa che l'elaborazione dell'immagine per il fotogramma corrente richiede più memoria grafica di quella che Resolve riesce a ottenere. Le soluzioni più rapide, in quest'ordine: abbassa la risoluzione della timeline mentre lavori, alleggerisci la riduzione del rumore temporale, riduci o metti in cache i nodi pesanti e riproduci da optimized media o proxy. In molti casi di "davinci resolve gpu memory full" bastano le prime due modifiche. Qui sotto trovi perché succede, come individuare la clip che fa scattare l'errore e come evitare che torni.

Il messaggio stesso di solito suggerisce una risoluzione della timeline più bassa o meno correttori. Prendilo alla lettera: sono le due leve più importanti.

Perché Resolve esaurisce la memoria della GPU su Mac

Resolve svolge quasi tutta l'elaborazione delle immagini sulla GPU. Ogni fotogramma che riproduci viene decodificato, scalato alla risoluzione della timeline e poi fatto passare attraverso ogni nodo, effetto e strumento Fusion della clip. Ogni passaggio può tenere in memoria una propria copia del fotogramma, e alcuni effetti ne tengono diversi contemporaneamente.

Quanto spazio c'è dipende dal Mac.

  • Apple silicon. CPU e GPU condividono un'unica riserva di memoria unificata. Non c'è una scheda grafica separata con una quantità fissa tutta sua, ma macOS limita quanta parte di quella riserva può usare la GPU, e tutto il resto aperto sul Mac attinge alla stessa riserva. Una macchina da 16 GB con Resolve, un browser e un'app di messaggistica aperti ha molto meno margine di quanto lasci pensare il numero sulla scatola.
  • Mac Intel con GPU dedicata. La scheda grafica ha una propria memoria video fissa, spesso modesta sui portatili. Quando si riempie, il fotogramma non ha altro posto dove andare.

Quindi l'errore è raramente un bug. È una somma: la dimensione del fotogramma, moltiplicata per le operazioni che richiedono una copia completa del fotogramma, confrontata con la memoria libera in quel momento.

Trova la clip che fa scattare l'errore

Prima di cambiare le impostazioni, annota dove compare l'errore. Si presenta quasi sempre su clip specifiche, non su tutta la timeline.

  • Riproduci la timeline e segna le clip in cui compaiono l'avviso o un indicatore di riproduzione rosso.
  • Su ciascuna, apri la pagina Color e guarda l'albero dei nodi. Conta i nodi e annota gli strumenti pesanti: riduzione del rumore temporale o spaziale, Magic Mask, Face Refinement, effetti tipo sfocatura dell'obiettivo, Super Scale in Clip Attributes o una composizione Fusion.
  • Disattiva i nodi uno alla volta (seleziona un nodo e spegnilo) finché la riproduzione non torna fluida. Il nodo che riporta l'errore è il tuo principale sospettato.

Così eviti di abbassare la qualità di un intero progetto per sistemare tre inquadrature.

Cosa cambiare per prima cosa

1. Abbassa la risoluzione della timeline mentre lavori

Di solito è la soluzione più efficace. Apri Project Settings, poi Master Settings, e imposta una risoluzione della timeline più bassa, per esempio 1920x1080 invece di UHD o 6K. Ogni nodo ed effetto elabora così un fotogramma più piccolo, e l'uso di memoria scende in modo sensibile. Se una timeline usa impostazioni proprie anziché quelle predefinite del progetto, cambia la risoluzione nelle Timeline Settings di quella timeline.

Resolve è indipendente dalla risoluzione, quindi ridimensionamenti, finestre e tracking si adattano al cambio. Valgono due avvertenze. Alcuni effetti misurati in pixel, come il raggio di una sfocatura o la nitidezza, possono apparire leggermente diversi a un'altra risoluzione, e cambiare la risoluzione di una timeline già gradata è più sicuro su una copia del progetto o della timeline. Prima del render finale, riporta la risoluzione a quella di consegna e ricontrolla le inquadrature pesanti.

Se preferisci non toccare il progetto, usa il menu Playback e imposta la Timeline Proxy Resolution su half o quarter. Questo abbassa la risoluzione di elaborazione solo per la riproduzione e non ha alcun effetto sul render.

2. Tieni a bada la riduzione del rumore

La riduzione del rumore temporale è una delle cause più comuni di questo errore. Confronta il fotogramma corrente con quelli vicini, quindi ogni fotogramma in più da analizzare aggiunge un altro fotogramma a piena risoluzione nella memoria della GPU.

  • Riduci il numero di fotogrammi nelle impostazioni temporali. Su un girato poco rumoroso, meno fotogrammi spesso danno un risultato quasi identico.
  • Imposta la motion estimation sulla modalità più veloce mentre lavori.
  • Se usi sia la riduzione del rumore temporale sia quella spaziale, verifica se l'inquadratura ha davvero bisogno di entrambe.
  • Metti la riduzione del rumore su un nodo dedicato all'inizio dell'albero e poi mettilo in cache (clic destro sul nodo per attivarne la cache, con la Render Cache impostata su Smart o User nel menu Playback), così Resolve lo calcola una volta sola invece di ricalcolarlo a ogni passaggio.

La riduzione del rumore temporale e spaziale fa parte di DaVinci Resolve Studio: se usi la versione gratuita e vedi comunque l'errore, guarda le altre cause qui sotto.

3. Conta i tuoi nodi

Una lunga catena seriale di correzioni semplici costa poco. Una manciata di strumenti pesanti impilati su una clip costa molto. I colpevoli più comuni sono Magic Mask, Face Refinement, Super Scale, diverse finestre tracciate con valori di softness elevati e plug-in OpenFX di terze parti.

  • Unisci in un solo nodo le correzioni semplici che fanno lo stesso lavoro.
  • Metti in cache i nodi con effetti pesanti, oppure consolidali con Render in Place dal menu contestuale della clip. Resolve mantiene un collegamento alla clip originale, così puoi tornarci se in seguito devi modificare la correzione colore.
  • Controlla i nodi a livello di timeline e le adjustment clip. Una correzione applicata a tutta la timeline viene eseguita su ogni clip sottostante, e questo moltiplica il costo.
  • Imposta la Render Cache su Smart o User nel menu Playback, così Resolve salva su disco i risultati già calcolati invece di ricalcolarli a ogni riproduzione.

4. Usa optimized media o proxy

Optimized media e proxy aiutano soprattutto quando la sorgente è un formato long-GOP o raw pesante ad alta risoluzione. Fai clic destro sulle clip nel Media Pool e genera optimized media o proxy media, poi assicurati che il menu Playback sia impostato per usarli quando disponibili. In Master Settings scegli risoluzione e formato degli optimized media, per esempio una variante ProRes o DNxHR.

Sii realista su cosa risolve. Gli optimized media riducono il costo di decodifica, e questo aiuta la riproduzione. Non riducono quanto chiede alla GPU un nodo pesante di riduzione del rumore o una composizione Fusion a piena risoluzione della timeline. Per questo la risoluzione della timeline e la scelta dei nodi vengono prima.

Impostazioni da controllare su Mac

Alcune preferenze e abitudini influiscono su quanta memoria Resolve può davvero usare.

  • Modalità di elaborazione GPU. In Preferences, sotto System e poi Memory and GPU, Resolve su Mac usa Metal. Lascia la selezione della GPU su automatico, a meno che tu non abbia un motivo per cambiarla.
  • Chiudi le altre app pesanti. Browser con molte schede, altre app video e strumenti 3D competono tutti per la stessa memoria unificata su Apple silicon.
  • Meno timeline e composizioni Fusion aperte. Le composizioni Fusion aperte e le timeline in più possono occupare memoria. Chiudi quello che non usi.
  • Monitor esterni. Anche i monitor esterni ad alta risoluzione usano memoria della GPU. Su una macchina più piccola, un viewer grande su uno schermo 5K o 6K aggiunge carico.
  • Aggiorna con criterio. Gli aggiornamenti di Resolve e macOS cambiano spesso il comportamento della GPU. Leggi le note di rilascio sulla pagina di supporto di DaVinci Resolve, aggiorna tra un progetto e l'altro invece che a metà lavoro e fai prima un backup della libreria dei progetti.

Riavviare Resolve libera la memoria accumulata durante una lunga sessione. Se l'errore compare solo a fine giornata e sparisce dopo un riavvio, indica cache accumulata e timeline aperte più che una singola clip pesante.

Come evitare che si ripresenti

L'errore tende a tornare sullo stesso tipo di progetti. Poche abitudini ne prevengono la maggior parte.

  • Fissa la risoluzione di lavoro all'inizio. Monta e fai color grading in HD su un progetto 4K o superiore se il tuo Mac fatica, poi passa alla risoluzione di consegna per la revisione e il render.
  • Riduci il rumore una volta, presto. Decidi la riduzione del rumore per camera o per scena, applicala su un nodo in cache ed evita di ritoccarla a ogni passaggio.
  • Costruisci gli alberi dei nodi con criterio. Usa una struttura costante, così sai dove si trovano gli strumenti pesanti, e metti in cache quei nodi per abitudine.
  • Genera gli optimized media all'importazione per i formati pesanti, prima di iniziare il montaggio video.
  • Conosci il limite della tua macchina. Su un Mac con poca memoria, prevedi meno effetti pesanti in contemporanea. Su Apple silicon la memoria non si può espandere in seguito, quindi se compri un nuovo Mac per il color grading, conviene dare priorità alla memoria unificata.

Se l'errore persiste su timeline semplici con correzioni leggere, pubblica i dettagli (versioni di Resolve e macOS, modello di Mac, memoria, codec e un albero di nodi che fallisce) sul forum o al supporto di Blackmagic.

FAQ

Abbassare la risoluzione della timeline riduce la qualità del render finale?

No, se la riporti al valore originale prima del render. Resolve è indipendente dalla risoluzione, quindi correzione colore, ridimensionamenti e finestre si adattano. Dopo il ritorno alla risoluzione originale, ricontrolla le inquadrature con effetti in pixel come sfocatura o nitidezza, perché possono apparire leggermente diverse.

Più memoria risolve GPU memory full su Apple silicon?

Più memoria unificata dà più spazio alla GPU, quindi un Mac con più memoria raggiunge il limite più tardi. Non elimina il costo degli effetti pesanti ad alta risoluzione, quindi le stesse abitudini valgono anche su una macchina più grande.

La versione gratuita di Resolve mostra questo errore più spesso?

Non di per sé. Alla versione gratuita mancano alcuni degli strumenti più pesanti, come la riduzione del rumore temporale, quindi sullo stesso girato potrebbe anzi far scattare l'errore meno spesso. Cause e soluzioni sono le stesse in entrambe.

Quando il problema è lo strumento stesso

La maggior parte degli errori di memoria GPU in Resolve si risolve con i passaggi qui sopra, e Resolve resta uno degli strumenti di color grading più solidi su Mac. Se il problema più grande è che Resolve ti sembra pesante o difficile da imparare per il lavoro che fai, DaVinci Resolve è troppo complicato? spiega perché, e Alternative a DaVinci Resolve per chi monta su Mac confronta le opzioni realistiche, cinemaOS compreso, con i loro limiti dichiarati chiaramente.