Hoppa till innehållet
cinemaOS

Problem som lösts

DaVinci Resolve "GPU memory full" på Mac: så löser du det

GPU memory full i DaVinci Resolve på Mac? Varför det händer, vad du ändrar först (tidslinjeupplösning, brusreducering, noder, media) och hur du förebygger.

När DaVinci Resolve säger att GPU-minnet är fullt på en Mac betyder det att bildbehandlingen för den aktuella bildrutan kräver mer grafikminne än Resolve kan få. De snabbaste åtgärderna, i den här ordningen: sänk tidslinjeupplösningen medan du arbetar, dra ner på den temporala brusreduceringen, rensa eller cacha tunga noder och spela upp från optimized media eller proxyfiler. I många fall av "davinci resolve gpu memory full" räcker de två första ändringarna. Nedan: varför det händer, hur du hittar klippet som utlöser felet och hur du hindrar det från att komma tillbaka.

Själva meddelandet föreslår oftast en lägre tidslinjeupplösning eller färre korrigeringar. Ta det bokstavligt: det är de två största spakarna.

Varför Resolve får slut på GPU-minne på en Mac

Resolve gör nästan all bildbehandling på GPU:n. Varje bildruta du spelar upp avkodas, skalas till tidslinjeupplösningen och passerar sedan genom varje nod, effekt och Fusion-verktyg på klippet. Varje steg kan hålla en egen kopia av bildrutan i minnet, och vissa effekter håller flera bildrutor samtidigt.

Hur mycket utrymme som finns beror på vilken Mac du har.

  • Apple silicon. CPU och GPU delar en gemensam pool av unified memory. Det finns inget separat grafikkort med en egen fast mängd minne, men macOS begränsar hur mycket av poolen GPU:n får använda, och allt annat som är öppet på datorn tar från samma pool. En maskin med 16 GB som kör Resolve, en webbläsare och en chattapp har märkbart mindre marginal än siffran på kartongen antyder.
  • Intel-Macar med separat grafikkort. Grafikkortet har eget, fast videominne, ofta blygsamt i bärbara datorer. När det är fullt finns det ingen annanstans för bildrutan att ta vägen.

Felet är alltså sällan en bugg. Det är en summa: bildrutans storlek, gånger de operationer som behöver en hel kopia av bildrutan, mot det minne som är ledigt just då.

Hitta klippet som utlöser felet

Innan du ändrar inställningar, notera var felet dyker upp. Det visar sig nästan alltid på specifika klipp, inte på hela tidslinjen.

  • Spela igenom tidslinjen och markera klippen där varningen eller en röd uppspelningsindikator syns.
  • Öppna Color-sidan för vart och ett och titta på nodträdet. Räkna noderna och notera tunga verktyg: temporal eller spatial brusreducering, Magic Mask, Face Refinement, lens blur-liknande effekter, Super Scale i Clip Attributes eller en Fusion-komposition.
  • Stäng av noderna en i taget (markera en nod och slå av den) tills uppspelningen fungerar igen. Noden som får felet att komma tillbaka är din huvudmisstänkte.

Då slipper du sänka kvaliteten i ett helt projekt för att rätta till tre tagningar.

Vad du ändrar först

1. Sänk tidslinjeupplösningen medan du arbetar

Det här är oftast den mest effektiva åtgärden. Öppna Project Settings, sedan Master Settings, och ställ in en lägre tidslinjeupplösning, till exempel 1920x1080 i stället för UHD eller 6K. Varje nod och effekt behandlar då en mindre bildruta, vilket minskar minnesanvändningen rejält. Om en tidslinje använder egna inställningar i stället för projektets standard ändrar du upplösningen i den tidslinjens Timeline Settings.

Resolve är upplösningsoberoende, så skalning, fönster och tracking följer med ändringen. Två saker att tänka på. Vissa effekter som mäts i pixlar, som oskärperadie eller skärpning, kan se något annorlunda ut i en annan upplösning, och att ändra tidslinjeupplösningen efter att ett projekt är graderat görs säkrast på ett duplicerat projekt eller en duplicerad tidslinje. Innan den slutliga renderingen ställer du tillbaka leveransupplösningen och går igenom de tunga tagningarna.

Vill du hellre lämna projektet orört kan du i menyn Playback ställa Timeline Proxy Resolution på halv eller kvarts upplösning. Det sänker behandlingsupplösningen bara vid uppspelning och påverkar inte renderingen.

2. Håll brusreduceringen i schack

Temporal brusreducering är en av de vanligaste orsakerna till felet. Den jämför den aktuella bildrutan med intilliggande bildrutor, så varje extra bildruta du ber den analysera lägger till ytterligare en bildruta i full upplösning i GPU-minnet.

  • Minska antalet bildrutor i de temporala inställningarna. Färre bildrutor ger ofta nästan samma resultat på lätt brusigt material.
  • Ställ rörelseestimeringen på det snabbare läget medan du arbetar.
  • Om du använder både temporal och spatial brusreducering, kontrollera om tagningen verkligen behöver båda.
  • Lägg brusreduceringen på en egen nod tidigt i trädet och cacha den noden (högerklicka på noden och slå på dess node cache, med Render Cache inställd på Smart eller User i menyn Playback), så att Resolve renderar den en gång i stället för att räkna om den vid varje genomgång.

Temporal och spatial brusreducering ingår i DaVinci Resolve Studio, så om du använder gratisversionen och ändå ser felet, titta på de andra orsakerna nedan.

3. Räkna dina noder

En lång seriell kedja av enkla korrigeringar kostar lite. En handfull tunga verktyg staplade på ett klipp kostar mycket. Vanliga bovar är Magic Mask, Face Refinement, Super Scale, flera trackade fönster med stora softness-värden och tredjepartsplugins för OpenFX.

  • Slå ihop enkla korrigeringar som gör samma jobb till en nod.
  • Cacha noderna med tunga effekter, eller bränn in dem med Render in Place från klippets snabbmeny. Resolve behåller en länk till originalklippet, så du kan gå tillbaka till det om du behöver ändra graderingen senare.
  • Kontrollera noder på tidslinjenivå och adjustment clips. En gradering som läggs på hela tidslinjen körs på varje klipp under den, vilket mångdubblar kostnaden.
  • Ställ Render Cache på Smart eller User i menyn Playback, så att Resolve sparar färdiga resultat på disk i stället för att räkna om dem vid varje uppspelning.

4. Använd optimized media eller proxyfiler

Optimized media och proxyfiler hjälper mest när källan är ett tungt long-GOP- eller raw-format i hög upplösning. Högerklicka på klipp i Media Pool och skapa optimized media eller proxy media, och se sedan till att menyn Playback är inställd på att använda dem när de finns. I Master Settings kan du välja upplösning och format för optimized media, till exempel en variant av ProRes eller DNxHR.

Var realistisk om vad det här löser. Optimized media sänker avkodningskostnaden, vilket hjälper uppspelningen. Det minskar inte vad en tung brusreduceringsnod eller en Fusion-komposition kräver av GPU:n i full tidslinjeupplösning. Därför kommer tidslinjeupplösning och nodval först.

Inställningar värda att kontrollera på en Mac

Några inställningar och vanor påverkar hur mycket minne Resolve faktiskt kan använda.

  • GPU-behandlingsläge. I Preferences, under System och sedan Memory and GPU, använder Resolve på Mac Metal. Låt GPU-valet stå på automatiskt om du inte har ett skäl att ändra det.
  • Stäng andra tunga appar. Webbläsare med många flikar, andra videoappar och 3D-verktyg konkurrerar om samma unified memory på Apple silicon.
  • Färre öppna tidslinjer och Fusion-kompositioner. Varje inläst komposition och tidslinje tar minne. Stäng det du inte använder.
  • Externa skärmar. Högupplösta externa skärmar använder också GPU-minne. På en mindre maskin ökar en stor viewer på en 5K- eller 6K-skärm belastningen.
  • Uppdatera med eftertanke. Uppdateringar av Resolve och macOS ändrar ofta hur GPU:n beter sig. Läs versionsinformationen på supportsidan för DaVinci Resolve, uppdatera mellan projekt i stället för mitt i ett, och säkerhetskopiera ditt projektbibliotek först.

En omstart av Resolve frigör minne som har byggts upp under en lång session. Om felet bara dyker upp sent på dagen och försvinner efter en omstart pekar det på ackumulerad cache och öppna tidslinjer snarare än på ett enskilt tungt klipp.

Så hindrar du felet från att komma tillbaka

Felet brukar återkomma i samma typ av projekt. Några vanor förebygger det mesta.

  • Bestäm arbetsupplösningen från början. Klipp och gradera i HD i ett 4K-projekt eller större om din Mac har det tungt, och växla till leveransupplösning för granskning och rendering.
  • Brusreducera en gång, tidigt. Bestäm brusreducering per kamera eller per scen, lägg den på en cachad nod och undvik att justera den vid varje genomgång.
  • Bygg nodträd med avsikt. Använd en konsekvent trädstruktur så att du vet var de tunga verktygen finns, och cacha de noderna som vana.
  • Skapa optimized media vid import för tunga format, innan du börjar klippa.
  • Känn din maskins tak. På en Mac med mindre minne, planera för färre tunga effekter samtidigt. På Apple silicon går minnet inte att uppgradera i efterhand, så om du köper en ny Mac för färgsättning är unified memory värt att prioritera.

Om felet består på enkla tidslinjer med lätta graderingar, skicka detaljerna (versioner av Resolve och macOS, Mac-modell, minne, codec och ett nodträd som felar) till Blackmagics forum eller support.

FAQ

Försämrar en lägre tidslinjeupplösning kvaliteten på den slutliga renderingen?

Inte om du ställer tillbaka den före renderingen. Resolve är upplösningsoberoende, så din gradering, skalning och dina fönster följer med ändringen. Gå igenom tagningar med pixelbaserade effekter som oskärpa eller skärpning när du har bytt tillbaka, eftersom de kan se något annorlunda ut.

Löser mer RAM GPU memory full på Apple silicon?

Mer unified memory ger GPU:n mer utrymme, så en Mac med mer minne når gränsen senare. Det tar inte bort kostnaden för tunga effekter i hög upplösning, så samma vanor gäller även på en större maskin.

Visar gratisversionen av Resolve det här felet oftare?

Inte i sig. Gratisversionen saknar några av de tyngsta verktygen, som temporal brusreducering, så den kan utlösa felet mer sällan på samma material. Orsakerna och åtgärderna är desamma i båda.

När verktyget i sig är problemet

De flesta GPU-minnesfel i Resolve går att åtgärda med stegen ovan, och Resolve är fortfarande ett av de starkaste graderingsverktygen på Mac. Om det större problemet är att Resolve känns tungt eller svårt att lära sig för det arbete du gör, går Är DaVinci Resolve för krångligt? igenom varför, och alternativ till DaVinci Resolve för klippare på Mac jämför de realistiska alternativen, inklusive cinemaOS, med deras begränsningar tydligt angivna.