Naar de inhoud
cinemaOS

Problemen opgelost

DaVinci Resolve "GPU memory full" op Mac: zo los je het op

DaVinci Resolve GPU memory full op een Mac? Waarom het gebeurt, wat je eerst aanpast (tijdlijnresolutie, ruisreductie, nodes, media) en hoe je het voorkomt.

Meldt DaVinci Resolve op een Mac dat het GPU-geheugen vol is, dan heeft de beeldverwerking voor het huidige frame meer grafisch geheugen nodig dan Resolve kan krijgen. De snelste oplossingen, in deze volgorde: verlaag de tijdlijnresolutie zolang je werkt, schroef temporele ruisreductie terug, beperk of cache zware nodes en speel af vanaf optimized media of proxy's. Bij veel gevallen van "davinci resolve gpu memory full" zijn de eerste twee aanpassingen al genoeg. Hieronder lees je waarom het gebeurt, hoe je de clip vindt die de fout veroorzaakt en hoe je voorkomt dat hij terugkomt.

De melding zelf stelt meestal een lagere tijdlijnresolutie of minder correctors voor. Neem dat letterlijk: dat zijn de twee grootste hefbomen.

Waarom Resolve op een Mac te weinig GPU-geheugen heeft

Resolve doet bijna al zijn beeldverwerking op de GPU. Elk frame dat je afspeelt wordt gedecodeerd, geschaald naar de tijdlijnresolutie en daarna door elke node, elk effect en elke Fusion-tool op de clip gestuurd. Elke stap kan een eigen kopie van het frame in het geheugen vasthouden, en sommige effecten houden meerdere frames tegelijk vast.

Hoeveel ruimte er is, hangt af van de Mac.

  • Apple silicon. CPU en GPU delen één pool van unified memory. Er is geen aparte grafische kaart met een eigen vaste hoeveelheid, maar macOS beperkt hoeveel van die pool de GPU mag gebruiken, en alles wat verder openstaat op de Mac put uit dezelfde pool. Een machine met 16 GB waarop Resolve, een browser en een chatapp draaien, heeft merkbaar minder speelruimte dan het getal op de doos doet vermoeden.
  • Intel-Macs met een losse GPU. De grafische kaart heeft eigen, vast videogeheugen, op laptops vaak bescheiden. Is dat vol, dan kan het frame nergens anders heen.

De fout is dus zelden een bug. Het is een optelsom: framegrootte, maal de bewerkingen die een volledige kopie van het frame nodig hebben, tegenover het geheugen dat op dat moment vrij is.

Vind de clip die de fout veroorzaakt

Noteer eerst waar de fout verschijnt voordat je instellingen verandert. Hij duikt bijna altijd op bij specifieke clips, niet over de hele tijdlijn.

  • Speel de tijdlijn af en markeer de clips waar de waarschuwing of een rode afspeelindicator verschijnt.
  • Open bij elke clip de Color-pagina en bekijk de node tree. Tel de nodes en noteer zware tools: temporele of spatiale ruisreductie, Magic Mask, Face Refinement, effecten in de stijl van lens blur, Super Scale in Clip Attributes of een Fusion-compositie.
  • Schakel nodes één voor één uit (selecteer een node en zet hem uit) tot het afspelen weer lukt. De node die de fout terugbrengt, is je hoofdverdachte.

Zo hoef je niet de kwaliteit van een heel project te verlagen om drie shots te repareren.

Wat je eerst aanpast

1. Verlaag de tijdlijnresolutie zolang je werkt

Dit is meestal de meest effectieve oplossing. Open Project Settings, dan Master Settings, en zet de tijdlijnresolutie lager, bijvoorbeeld 1920x1080 in plaats van UHD of 6K. Elke node en elk effect verwerkt dan een kleiner frame, wat het geheugengebruik flink verlaagt. Gebruikt een tijdlijn eigen instellingen in plaats van de projectstandaard, pas de resolutie dan aan in de Timeline Settings van die tijdlijn.

Resolve is resolutie-onafhankelijk, dus sizing, windows en tracking schalen mee. Let wel op twee dingen. Sommige effecten die in pixels werken, zoals de straal van een blur of verscherping, kunnen er bij een andere resolutie iets anders uitzien, en de tijdlijnresolutie wijzigen nadat een project gegraded is, doe je het veiligst op een kopie van het project of de tijdlijn. Zet de resolutie voor de definitieve render terug op je leverformaat en bekijk de zware shots opnieuw.

Laat je het project liever ongemoeid, gebruik dan het menu Playback en zet de timeline proxy resolution op half of kwart. Dat verlaagt de verwerkingsresolutie alleen voor het afspelen en heeft geen invloed op de render.

2. Houd ruisreductie in toom

Temporele ruisreductie is een van de meest voorkomende oorzaken van deze fout. Ze vergelijkt het huidige frame met naburige frames, dus elk extra frame dat ze moet analyseren, voegt nog een frame op volle resolutie toe aan het GPU-geheugen.

  • Verlaag het aantal frames in de temporele instellingen. Minder frames ziet er bij licht ruizig materiaal vaak bijna hetzelfde uit.
  • Zet motion estimation tijdens het werken op de snellere modus.
  • Gebruik je zowel temporele als spatiale ruisreductie, controleer dan of het shot ze echt allebei nodig heeft.
  • Zet ruisreductie op een eigen node vroeg in de tree en cache die node (klik met de rechtermuisknop op de node en zet de node cache aan, met Render Cache op Smart of User in het menu Playback), zodat Resolve hem één keer rendert in plaats van hem bij elke doorgang opnieuw te berekenen.

Temporele en spatiale ruisreductie horen bij DaVinci Resolve Studio. Werk je met de gratis versie en zie je de fout toch, kijk dan naar de andere oorzaken hieronder.

3. Tel je nodes

Een lange seriële keten van eenvoudige correcties kost weinig. Een handvol zware tools op één clip kost veel. Bekende boosdoeners zijn Magic Mask, Face Refinement, Super Scale, meerdere getrackte windows met hoge softness-waarden en OpenFX-plug-ins van derden.

  • Voeg eenvoudige correcties die hetzelfde doen samen in één node.
  • Cache de nodes met zware effecten, of bak ze in met Render in Place via het contextmenu van de clip. Resolve houdt een koppeling met de originele clip, zodat je daarnaar terug kunt als je de grade later wilt aanpassen.
  • Controleer nodes op tijdlijnniveau en adjustment clips. Een grade op de hele tijdlijn draait op elke clip eronder, en dat vermenigvuldigt de kosten.
  • Zet Render Cache op Smart of User in het menu Playback, zodat Resolve afgewerkte resultaten op schijf bewaart in plaats van ze bij elke weergave opnieuw te berekenen.

4. Gebruik optimized media of proxy's

Optimized media en proxy's helpen het meest als het bronmateriaal een zwaar long-GOP- of raw-formaat op hoge resolutie is. Klik met de rechtermuisknop op clips in de Media Pool en genereer optimized media of proxy media, en zorg dat het menu Playback is ingesteld om ze te gebruiken als ze beschikbaar zijn. In Master Settings kies je de resolutie en het formaat van optimized media, zoals een ProRes- of DNxHR-variant.

Wees realistisch over wat dit oplost. Optimized media verlaagt de decodeerlast, en dat helpt bij het afspelen. Het verkleint niet wat een zware ruisreductienode of Fusion-compositie op volle tijdlijnresolutie van de GPU vraagt. Daarom komen tijdlijnresolutie en de keuze van nodes eerst.

Instellingen die je op een Mac moet controleren

Een paar voorkeuren en gewoontes bepalen hoeveel geheugen Resolve echt kan gebruiken.

  • GPU-verwerkingsmodus. In Preferences, onder System en dan Memory and GPU, gebruikt Resolve op een Mac Metal. Laat de GPU-selectie op automatisch staan, tenzij je een reden hebt om die te wijzigen.
  • Sluit andere zware apps. Browsers met veel tabbladen, andere videoapps en 3D-tools concurreren op Apple silicon allemaal om hetzelfde unified memory.
  • Minder open tijdlijnen en Fusion-composities. Open Fusion-composities en extra tijdlijnen kunnen geheugen vasthouden. Sluit wat je niet gebruikt.
  • Externe schermen. Externe schermen met hoge resolutie gebruiken ook GPU-geheugen. Op een kleinere machine voegt een grote viewer op een 5K- of 6K-scherm extra belasting toe.
  • Update bewust. Updates van Resolve en macOS veranderen vaak het GPU-gedrag. Lees de release notes op de supportpagina van DaVinci Resolve, update tussen projecten in en niet halverwege, en maak eerst een back-up van je projectbibliotheek.

Resolve opnieuw starten maakt geheugen vrij dat zich tijdens een lange sessie heeft opgebouwd. Verschijnt de fout pas laat op de dag en verdwijnt hij na een herstart, dan wijst dat op opgebouwde cache en open tijdlijnen, niet op één zware clip.

Zo voorkom je dat het terugkomt

De fout keert vaak terug bij hetzelfde soort projecten. Met een paar gewoontes voorkom je het meeste.

  • Leg de werkresolutie aan het begin vast. Monteer en grade op HD in een project van 4K of groter als je Mac het moeilijk heeft, en schakel daarna over naar de leverresolutie voor de review en de render.
  • Ontruis één keer, vroeg. Kies de ruisreductie per camera of per scène, zet die op een gecachete node en pas haar niet bij elke doorgang opnieuw aan.
  • Bouw node trees met een plan. Gebruik een vaste opbouw van je tree, zodat je weet waar de zware tools zitten, en cache die nodes uit gewoonte.
  • Genereer optimized media bij het inladen van zware formaten, voordat je begint te monteren.
  • Ken het plafond van je machine. Reken op een Mac met minder geheugen op minder zware effecten tegelijk. Op Apple silicon kun je het geheugen later niet uitbreiden, dus koop je een nieuwe Mac om te graden, geef dan voorrang aan unified memory.

Blijft de fout terugkomen op bescheiden tijdlijnen met lichte grades, deel dan de details (versies van Resolve en macOS, Mac-model, geheugen, codec en een node tree die misgaat) op het forum of bij de support van Blackmagic.

FAQ

Verlaagt een lagere tijdlijnresolutie de kwaliteit van mijn eindrender?

Niet als je haar voor het renderen terugzet. Resolve is resolutie-onafhankelijk, dus je grade, sizing en windows schalen mee. Bekijk shots met effecten in pixels, zoals blur of verscherping, opnieuw nadat je hebt teruggeschakeld, want die kunnen er iets anders uitzien.

Lost meer geheugen GPU memory full op Apple silicon op?

Meer unified memory geeft de GPU meer ruimte, dus een Mac met meer geheugen bereikt de grens later. Het neemt de kosten van zware effecten op hoge resolutie niet weg, dus dezelfde gewoontes gelden ook op een grotere machine.

Geeft de gratis versie van Resolve deze fout vaker?

Niet per se. De gratis versie mist een paar van de zwaarste tools, zoals temporele ruisreductie, dus ze geeft de fout bij hetzelfde materiaal misschien zelfs minder vaak. De oorzaken en oplossingen zijn in beide versies hetzelfde.

Als de software zelf het probleem is

De meeste GPU-geheugenfouten in Resolve los je op met de stappen hierboven, en Resolve blijft een van de sterkste gradingtools op een Mac. Is het grotere probleem dat Resolve zwaar of lastig te leren aanvoelt voor het werk dat je doet, dan legt Is DaVinci Resolve te ingewikkeld? uit waarom, en vergelijkt Alternatieven voor DaVinci Resolve op de Mac de realistische opties, waaronder cinemaOS, met hun beperkingen eerlijk benoemd.