VRAM Allocation vs. VRAM Usage - Vad är skillnaden?
Nvidia tillkännagav sin senaste RTX 3000-serie grafikkort den 1 septemberst2020 mitt i massiv hype. Dessa grafikkort lovade enastående prestandanivåer inte bara i traditionell rasteriserad rendering utan också i moderna RayTracing-spel. RTX 3000-kortserien skulle fortsätta bli några av de snabbaste korten på marknaden som konkurrerar med AMDs bästa erbjudanden i RX 6000-serien. Den Ampere-baserade GPU som var inne i dessa kort var mycket snabb på egen hand, men den mycket överlägsna prestandan var faktiskt ett resultat av en annan förbättring också. De två bästa korten i RTX 3000-serien, RTX 3090 och RTX 3080, har också helt nytt GDDR6X-minne som är helt nytt för konsumentgrafikkort.
RTX 3080 hade en minnesbuffertstorlek på 10 GB, medan RTX 3090 har en enorm 24 GB minnesbuffertstorlek. Den relativt imponerande minnesstorleken på RTX 3080 orsakade en hel del oro bland Nvidia-troende, särskilt med tanke på att det äldre RTX 2080 Ti-flaggskeppet hade 11 GB VRAM. Strax därefter släppte AMD sina helt nya grafikkort i RX 6000-serien som alla hade 16 GB VRAM, även om de hade de långsammare GDDR6-minnesmodulerna. AMD pekade också i deras reklammaterial på möjligheten att moderna spel använder mer än 10 GB VRAM på upplösningar som 4K. Strax efter släppte Nvidia RTX 3060, som var ett mellanklass grafikkort, men det hade konstigt nog 12 GB VRAM. Detta hjälpte bara till att lera vattnet ännu mer.
Minnesstorleksdebatt
På grund av den nominella storleken på RTX 3080: s VRAM-buffert påpekade många entusiaster att moderna spel kan kräva mer än 10 GB VRAM under vissa scenarier. Speciellt i högre upplösningar som 4K tenderar många spel att korsa 8 GB och 10 GB VRAM-gränserna när de är laddade med tillgångar av hög kvalitet. Debatten intensifierades när många media också gav exempel på spel som Doom Eternal och Resident Evil som konsumerade mer än 10 GB VRAM vid 4K.
Nvidia trofasta, å andra sidan, svarade med den smarta observationen att många av dessa spel faktiskt tilldelade mer VRAM än de behövde och därmed faktiskt inte använde mer än 10 GB VRAM åt gången. VRAM Allocation är ett lite komplicerat koncept som fungerar annorlunda i varje spel, men i grund och botten betyder det att spelet tar all VRAM som är tillgänglig och fyller den med tillgångar som kan behövas senare. Detta är ett starkt argument eftersom många spel som Call of Duty Modern Warfare till och med kommer att tilldela mer än 20 GB VRAM om ditt grafikkort har det.
AMD hoppade också in när de tillkännagav sitt senaste inträde i RX 6000-serien, Radeon RX 6700 XT. AMD visade följande bild vid sin presentation som visar att flera spel "använder" mer än 8 GB VRAM under vissa förhållanden. Ordet ”användning” lämnas medvetet vagt.
För att förstå skillnaden mellan minnesanvändning och minnestilldelning måste vi först förstå vad VRAM är och vad det faktiskt gör.
Vad gör VRAM?
Det mesta av "tunga lyft" när det gäller grafisk bearbetning görs av grafikkortets kärna som kallas GPU. GPU: n är en mycket kraftfull kiselbit som är designad och optimerad för att bearbeta grafiska uppgifter som spel. Den hanterar det mesta av den bearbetning som krävs för att trycka på ramarna som din bildskärm visar. Men för att kunna bearbeta stora mängder data och förbereda ramarna tillräckligt snabbt behöver GPU något att arbeta med. Det är här VRAM kommer in.
VRAM eller videominne är ett mycket snabbt minnesformat som lagras på själva grafikkortet så att GPU: n har direkt tillgång till det. VRAM lagrar tillgångar och texturer som krävs av spelet så att GPU kan arbeta med dem när det behövs och förbereda ramarna som måste visas. Om VRAM inte kan leverera dessa tillgångar och andra viktiga data till GPUn tillräckligt snabbt kan användaren uppleva avmattningar, stammar eller till och med kraschar. I allmänhet kräver högre upplösningar som 1440p och 4K med höga grafiska inställningar mer VRAM för att hantera och lagra dessa tillgångar av högre kvalitet, vilket innebär att du behöver en högre VRAM-kapacitet om du vill spela med dessa inställningar vid dessa upplösningar. Samtidigt behöver du högre hastighetsminne för att kunna flytta data till GPU: n från VRAM tillräckligt snabbt. Det är här minneteknik som GDDR6X visa sig vara till hjälp.
VRAM-tilldelning
VRAM Allocation är ett något komplicerat och vagt koncept eftersom dess faktiska tillämpning varierar från spel till spel och mellan olika utvecklare. I grund och botten, när ett spel "allokerar" VRAM, hävdar det hela kortets minnesbuffert och lagrar tillgångar och texturer på det som det kan behöva senare. Ett bra exempel på VRAM-tilldelning finns i moderna Call of Duty-spel som Call of Duty Modern Warfare. Speciellt i multiplayer-versionen hävdar spelet att alla VRAM-korten har att erbjuda och fyller det till randen med tillgångar och texturer som kan krävas någon gång i matchen. Detta kan inkludera olika texturer av objekt på kartan, olika grafiska element, trådramskartor etc.
Att hävda hela VRAM: s kapacitet och fylla den med visserligen onödiga tillgångar kan tyckas slösaktigt, men det tjänar ett syfte. När tillgångar är förinstallerade i minnet så här behöver spelet inte vänta på att den mycket långsammare hårddisken eller SSD laddar tillgången när det krävs på skärmen. Den nödvändiga tillgången kan snabbt nås från grafikkortets VRAM, vilket är mycket snabbare än någon form av lagring som finns idag. Detta gör det möjligt för spelet att ladda texturer och tillgångar omedelbart, och därigenom undvika någon form av fördröjning eller textur pop-in artefakter. Den totala spelupplevelsen förbättras därför när denna teknik används.
Man bör komma ihåg att spelet faktiskt inte behöver lagra alla dessa tillgångar i videominnet för att fungera korrekt. Om du kör Call of Duty Modern Warfare på ett grafikkort med 6 GB VRAM, kommer det att fungera perfekt när du tilldelar hela 6 GB VRAM-buffert. På samma sätt tilldelar spelet till och med så mycket som 20 GB VRAM om du spelar det på ett grafikkort med mer än 20 GB VRAM. Spelet använder faktiskt inte allt VRAM för att hjälpa till att göra scenen, men spelet lagrar potentiellt viktiga tillgångar och strukturer i VRAM som kan komma till nytta senare.
Faktisk VRAM-användning
Medan vissa moderna spel gillar att fördela hela VRAM-kapaciteten till spelet för att optimera spelupplevelsen, använder inte äldre spel och en stor del av nyare spel denna teknik. VRAM-tilldelning är en ganska ny teknik som har blivit populär de senaste åren på grund av ökningen av grafikkort med mer än 8 GB VRAM. Dessa spel använder så mycket VRAM som de faktiskt behöver för att göra en scen, och resten förblir oanvända.
VRAM-användning kan definieras som den mängd VRAM som är aktivt involverad i att återge en scen som visas på skärmen eller efterföljande scener för vilka spelet behöver omedelbar tillgång till tillgångar och texturer. VRAM-användning är det faktiska måttet på hur mycket VRAM ett spel behöver för att fungera korrekt. Om ett spel "använder" 8 GB VRAM under vissa förhållanden kommer det att ha mindre än 8 GB VRAM att orsaka allvarliga hakningar och stammar eller kanske till och med kraschar om dessa villkor är uppfyllda.
Det bör noteras att övervakning av programvaror som MSI Afterburner inte har möjlighet att skilja VRAM-allokering från VRAM-användning, och visar därför endast VRAM-allokering. Detta innebär att avläsningen av VRAM i dessa programvaror kan vara väldigt annorlunda mellan olika datorer. Om ett spel som DOOM Eternal tilldelar 12 GB VRAM på en dator med en RTX 2080 Ti, kan det kanske inte översättas direkt till en annan dator som har ett grafikkort med endast 8 GB VRAM. Detta innebär att VRAM-tilldelning varierar mellan olika datorer med olika grafikkort och inte enkelt kan replikeras över olika system. VRAM-användning, å andra sidan, kan nästan alltid replikeras i en ganska exakt grad över olika system.
Hur mycket VRAM behöver du?
Detta är en gammal fråga som har upprepats med varje ny grafikkortutgåva och kommer förmodligen att upprepas igen i framtiden också. Ändå förblir svaret detsamma; det beror på. VRAM-användningen varierar väldigt mycket mellan olika spel som bygger på olika motorer med olika utvecklingstekniker. Man kan inte bara tilldela ett VRAM-värde till ett spel eller en uppsättning spel och vara klar med det. Det finns många faktorer som påverkar VRAM-användningen i verkligheten.
Den största faktorn som påverkar VRAM-användningen är din upplösning. De tre stora upplösningarna i dag är 1080p, 1440p och 4K. VRAM-upplösningen ökar ganska exponentiellt när vi ökar upplösningen från 1440p till 4K, medan hoppet från 1080p till 1440p också är ganska betydelsefullt. 4K är den upplösning som kräver mest VRAM från och med idag, men samtal om 8K-spel hotar också i horisonten.
Den andra faktorn som påverkar VRAM-användningen avsevärt är vilken typ av spel du spelar på ditt grafikkort. Om du är mer intresserad av strategispel i realtid kommer din VRAM-användning att bli betydligt lägre än en annan spelare som är mer intresserad av öppna världsspel. På samma sätt kommer en lite äldre AAA-titel som Assassin's Creed IV: Black Flag att konsumera mycket mindre VRAM än det senaste inlägget i serien: Assassin's Creed Valhalla. Det finns ingen tumregel för VRAM-användning, men om vi tittar på det breda spektrumet av spel över flera genrer, är AAA-spel i öppen värld de som konsumerar högst VRAM. Kom ihåg att vi pratar om VRAM-användning här och inte VRAM-tilldelning.
Inställningarna i spelet påverkar också VRAM-användningen ganska hårt. De flesta spel har idag en mängd grafiska inställningar som du kan ändra för att optimera din spelupplevelse. Det finns några inställningar som har en betydande inverkan på VRAM-användningen. Texturkvalitet är den viktigaste inställningen som du måste se upp för när du pratar om VRAM. Högkvalitetsstrukturer ser betydligt bättre ut än lägre kvalitet men konsumerar ofta mycket mer VRAM också, vilket kan vara ett problem för de spelare som saknas i denna avdelning. Skuggkvalitet är en annan inställning som kan ha en märkbar inverkan på VRAM-användning, och anti-aliasing-tekniker som MSAA eller Multi-Sample Anti-Aliasing kan också öka din VRAM-användning avsevärt.
Är 10 GB VRAM tillräckligt?
Det är svårt att sätta ett exakt antal på hur mycket VRAM faktiskt krävs idag. VRAM-kraven för en spelare kan variera mycket från VRAM-kraven för en annan spelare. Några generaliserade observationer kan dock göras i detta avseende, med tanke på VRAM-användningsnumren för olika spel i olika upplösningar.
Om du är en spelare som gillar att spela det senaste och bästa AAA-spelet på 4K med alla inställningar maximerade, kan 10 GB bara vara knappt tillräckligt för dina behov, för nu. Men om du är villig att stänga av några inställningar, eller sänka upplösningen till 1440p och spela med en högre bildhastighet, bör 10 GB VRAM hålla dig fortfarande en stund. För konkurrenskraftiga spelare och spelare som gillar att spela lättare eller äldre titlar bör till och med 8 GB VRAM vara gott även om du planerar att spela i 4K-upplösning.
Slutord
VRAM-tilldelning är ett knepigt koncept som blir mer och mer populärt nuförtiden med ökningen av grafikkort med mer än 8 GB VRAM. Tilldelningen är ganska annorlunda än den faktiska VRAM-användningen, eftersom allokering använder potentiellt all VRAM som är tillgänglig för den för att optimera spelupplevelsen. Å andra sidan är VRAM-användning den faktiska mängd VRAM som krävs av spelet för att återge en viss scen. De två parametrarna är helt olika, och detta har orsakat mycket förvirring bland spelare helt enkelt för att de är grupperade under samma paraply som “VRAM”. Med fler och fler spel som använder tekniken för VRAM-tilldelning måste industrin utarbeta ett sätt att differentiera de två för att avlägsna tvetydighet och felinformation som är vanligt just nu.