De død av PC-spilling. Det har vært temaet de siste ukene, med havn etter havn etter havn som ankom PC i katastrofale tilstander. PC-spill er ikke dødt, men hvis denne trenden fortsetter, er det vanskelig å anbefale å plukke opp noen ny utgivelse på PC, i det minste før den mottar en rekke uunngåelige oppdateringer.
Innhold
- Kilden til stamme
- The Kraken of next-gen
- Nvidias svar
Anbefalte videoer
Jeg skulle ønske jeg kunne tilby en enkelt løsning for problemene PC-spill står overfor, men jeg kan ikke. Listen er massiv. Men det er ett fokusområde som kan hjelpe situasjonen mye, og det er der konsoller fortsatt har et forsprang på PC.
Kilden til stamme
Når det kommer til stykket, er det én ting som forårsaker hakking i spillene dine: en økning i gjengivelsestid. Noe har tettet røret et kort øyeblikk, og mens det er ordnet opp, er det et gap i tid mellom en ramme som vises på skjermen din og den neste. Det er en stamming.
I slekt
- Med eksklusive PC-partnerskap taper alle
- De verste PC-portene gjennom tidene - og hvorfor de var så dårlige
- Det gjør meg vondt å si, men det er offisielt et dårlig tidspunkt å være PC-spiller
Men hva er det som tetter rørene? I mange tilfeller på PC ser vi at shader-samlingen stammer. Det er her CPUen må sende instruksjoner (shaders) til GPUen og oversette dem fra programvarekode til maskinvarekode. Dette er kilden til stamme i spill som Gotham Knightsi mange tilfeller.
Vi har en god løsning for shader kompilering stamming. Den første er pre-kompilere shaders som Uncharted: Legacy of Thieves gjør på PC. Få instruksjonene lagret i minnet på forhånd, slik at du ikke trenger å mase med kompilering mens spillet kjører. Den andre er asynkron kompilering. Moderne CPUer som Core i5-13600K har tilgang til en tonn av tråder, så tråder som ikke gjør mye kan håndtere kompilering for kommende seksjoner mens du spiller.
De er ikke enkle løsninger, men de fungerer. Den andre hovedkilden til stamming vi ser er traversal eller lasting av stamming. Dette er tilfellet for Star Wars Jedi: Survivor, et spill som lansert med en rekke ytelsesproblemer. Her kommer stigningen i gjengivelsestid fra at spillet laster inn nye data mens du går gjennom verden.
Det er viktig å skille mellom de to fordi de har vidt forskjellige løsninger. Shader-samlingsstamming skjer når en ny shader-effekt introduseres på skjermen. Skyggelegging av en enkelt piksel kan ha flere lag med effekter, så en eksplosjon eller en effekt fra å plukke opp et element er områdene der du vanligvis ser shader-kompilering hakker.
Traversal stamming skjer når karakteren din passerer en lastesone av en eller annen variasjon. Hvis det ikke skjer noe spesielt bemerkelsesverdig på skjermen, er det en god sjanse for at du ser en traversal-stamming og ikke en shader-samlingsstamming.
Star Wars Jedi: Survivor er et godt eksempel på denne dynamikken. I åpningen av spillet på Coruscant, krasjer et stort skip inn i en plattform, og det er en kort, liten shader-samlingsstamming. Senere, på Koboh når du går inn eller ut av Pylons Saloon, er det imidlertid rundt 10 sekunder med intens stamming. Det er en traversal stamme.
Utviklere har løsninger for shader-kompileringsstamming, selv på motorer som Unreal Engine 4 som er spesielt vanskelige å krangle i den avdelingen. Vi har sett mange av de shader-relaterte hakkingene fikset i spill som Galtvorts arv, og spill som Atomisk hjertehar lansert fri for stammer på grunn av en intens pre-kompileringsprosess. Situasjonen for traversal stamming er mer kompleks.
The Kraken of next-gen
Begge
Streaming av data fra SSD-en er der traversal stamming oppstår, og det er et mye mer utfordrende problem å løse på PC. Ikke bare har ikke PC-er dedikert dekompresjonsmaskinvare, men spekteret av SSD-er gjør det vanskelig å pålitelig skalere strømmeytelse på tvers av flere systemer.
Det finnes løsninger for dette problemet på PC, men de fungerer bare ikke ennå.
På en PC er dekompresjon en oppgave for CPU. Data strømmes fra SSD-en, men de må dekomprimeres under transport, noe som ofte resulterer i en traversal-stamming. Den dedikerte dekompresjonsmaskinvaren på
Det finnes løsninger for dette problemet på PC, men de fungerer bare ikke ennå. DirectStorage er tilgjengelig for PC-brukere, og det bidrar til å forbedre lastetider og strømming gjennom GPU-dekompresjon. Problemet er at vi bare har ett spill med DirectStorage akkurat nå, Forlatt, og den utnytter ikke GPU-dekompresjon. Det forbedrer bare lastetidene, litt høyere enn en
I alle andre spill er prosessen den samme. Eiendeler bringes fra lagring til systemminne, CPU-en dekomprimerer dem, og deretter kopieres de til GPU-minne. Denne arbeidskrevende prosessen er sannsynligvis en grunn til at vi har sett VRAM-bruken går opp så høyt i nyere utgivelser, ettersom spillene er utviklet for konsoller som ikke har en flaskehals for minne som for øyeblikket er tilstede på PC.
DirectStorage er én løsning, men det er ikke den eneste måten å forbedre de store traversale stammeproblemene på PC. Riktig CPU-skalering er en løsning som har blitt underutnyttet, spesielt for Unreal Engine 4-utgivelser. Denne motoren er i stor grad bygget for å kjøre på to tråder av CPU, og som du kan se i spill som Star Wars Jedi: Survivor, de resterende trådene gjør ikke mye arbeid, om noen i det hele tatt.
Til tross for at konsoller har mindre datakraft enn moderne PC-er, designer utviklere spill for plattformer som ikke har en stor ressursstrømningsflaskehals. Du kan fortsatt oppnå høyere ytelse og visuell kvalitet på en avansert PC, men det kommer på bekostning av stamming, redusert teksturoppløsning og VRAM-begrensninger som ikke er tilstede på konsollen, eller i det minste, er langt mindre alvorlig.
Nvidias svar
I begynnelsen av mai, Nvidia levert en forskningsoppgave til Siggraph 2023 - en årlig konferanse sentrert rundt fremskritt innen datagrafikk - med tittelen "Random-Access Neural Compression of Material Textures." Papiret foreslår et system der en nevrale nettverk håndterer komprimering og dekompresjon av teksturer, og ifølge det kan systemet lagre 16 ganger data på samme mengde plass som en tradisjonell blokkbasert kompresjon.
Det kalles Neural Texture Compression (NTC). Flere detaljer i teksturer for samme lagringsplass er definitivt et attraktivt alternativ - som vi har sett med Forlatt og Resident Evil 4 Remake, teksturkvalitet kan faktisk være mye lavere på PC enn konsoller i VRAM-begrensede scenarier - men den virkelige fordelen er at NTC er designet for å dekomprimere data under kjøring.
DirectStorage har ikke materialisert seg i PC-spill på den måten jeg hadde håpet.
Det er en liten overhead sammenlignet med dedikerte dekompresjonsprosessorer, ifølge Nvidia, men Forskerne sier at de forventer at denne overheaden blir mindre når den først er brukt i sanntid gjengivelse. Enda viktigere er at dekomprimering kan skje direkte på GPU-en, og omgå CPU-en og behovet for dedikert maskinvare helt.
Vil dette løse stammeproblemene og VRAM-turene som plager PC-spillere? Jeg vet ikke. Foreløpig er dette bare en forskningsartikkel, og hvis vi ser at NTC blir tatt med
Men det lover mye. DirectStorage, for så mye av et svar som det høres ut som, har ikke materialisert seg i PC-spill på den måten jeg hadde håpet. Maskinvaren støtter det, programvaren er der ute, men vi har bare ikke spill som utnytter maskinvare GPU-dekompresjon for å komme i nærheten av det konsollene tilbyr for øyeblikket. Denne løsningen kan være mer håndterlig for utviklere og mindre krevende for maskinvare.
Vi vet ikke foreløpig. I mellomtiden krysser jeg fingrene for at resten av 2023 inneholder PC-utgivelser som faktisk fungerer, kl. minst til vi ser flere av de smarte måtene utviklere og leverandører ønsker å takle det som er et klart problem med PC spilling.
Redaktørenes anbefalinger
- Ratchet & Clank debuterer en revolusjonerende grafikkteknologi på PC
- Jeg ba utviklere forklare hvorfor PC-porter i 2023 går som søppel
- Hvordan generativ AI vil skape spill med "bredere, større og dypere verdener"
- Hvordan et viralt bodycam-spill lurte internett til å tro at det var ekte opptak
- Gaming bærbare datamaskiner lyver fortsatt for oss, og det blir enda mer komplisert