En djupdykning i modern spelutveckling

En djupdykning i modern spelutveckling

Mjukvaran och hårdvaran i dagens spelkonsoler och datorer har mycket gemensamt på pappret, men hur likartad är processen för utvecklare? Vi djupdyker i den moderna spelutvecklingen.

Konsoluppgraderingar och abstraktionsjakt

De nuvarande spelkonsolerna, generation åtta, innebär ett trendbrott på fler än ett sätt. Dels delar två av de största aktörerna en gemensam hårdvaruplattform, en systemkrets från AMD med företagets grafikteknik och processordel baserad på instruktionsuppsättningen x86, och dels är det första generationen där nya hårdvarumodeller med uppgraderad kapacitet lanseras under konsolernas livscykel.

Sony Playstation 4 Pro och Microsofts kommande Project Scorpio förbättrar flera av spelkonsolernas beräkningsmässiga kapacitet. Snabbare processorkärnor och utökad grafikprestanda är några av förbättringarna i Playstation 4 Pro, medan Project Scorpio baseras på ny arkitektur för grafikdelen och en något uppgraderad variant av processorn.

Denna sortens uppgraderingar skiljer sig från tidigare generationers uppgraderingar, exempelvis minnesexpansionen till Nintendo 64, där plattformens prestanda i grunden var densamma men fick något utökad kapacitet i vissa scenarion.

playstation-pro.jpg

Playstation 4 Pro blev den första hemkonsolen med en väsentlig uppgradering mitt i spelkonsolens generationscykeln.

Scorpio.jpg

Xbox Scorpio är en större uppgradering som grenslar utrymmet mellan uppgradering och ny konsolgeneration.

Ytterligare en faktor som är gemensam mellan samtliga av åttonde generationens spelkonsoler och PC-plattformen är stödet för lågnivå-ramverk som ger utvecklare nästintill direkt åtkomst till hårdvaran, något som tidigare endast varit tillgängligt för konsolplattformarna.

Lågnivågränssnitten ska ironiskt nog lösa ett problem som äldre versioner av högnivågränssnitten DirectX och OpenGL utformades för att lösa – nämligen att dåtidens grafikkort ofta använde egna utvecklargränssnitt som lät utvecklarna maximera prestanda på just det företagets produkter.

Ett exempel på detta var 3Dfx vars Vodoo-grafikkort använde de egna drivrutinerna och utvecklargränssnittet som kallades Glide. Detta gränssnitt erbjöd då utvecklare bättre prestanda än vad de då ganska omogna hårdvaruoberoende gränssnitten DirectX och OpenGL mäktade med, men det innebar också merarbete för utvecklare som var tvungna att lägga tid och resurser på Glide och de hårdvaruoberoende gränssnitten. I takt med att DirectX och OpenGL mognade blev det allt mer attraktivt att utveckla för dessa då de gjorde den underliggande hårdvaran abstrakt.

Att den underliggande hårdvaran blev abstrakt innebar att utvecklarna kunde skriva en gemensam kodbas i högnivågränssnitt (DirectX/OpenGL) och högnivåspråk (C/C++), vilket lät utvecklare införa optimeringar för specifika spel i drivrutinerna för aktuella grafikkort istället. Denna modell var framgångsrik och gjorde framför allt DirectX till en given standard för spelutvecklare på PC-sidan.

Denna abstraktion innebar dock att utvecklarens kontroll över hur hårdvaran utnyttjades lämnades över till grafikgränssnittet. I takt med att gränssnitten utvecklades och blev mer avancerade ökade också mängden kontrollsystem som övervakar kommunikationen mellan operativsystem, drivrutiner och själva hårdvaran.

3dfx_glide_välj.jpg

Under slutet av 90-talet och början av 2000-talet kunde pc-spelare välja mellan DirectX och specifika gränssnitt som 3dfx Glide.

3dfx_glide_glquake.jpg

Under en period erbjöd Glide bättre prestanda, bildkvalitet och bilduppdatering än DirectX och OpenGL.

tombraider_dx5.jpg

DirectX 5 var något av en vändpunkt för Microsofts gränssnitt som flertalet högprofilerade 3D-spel till PC fick stöd för.

Över tid utvecklades dock hårdvaran i både datorer och spelkonsoler, på ett sätt som innebar att abstraktionen och kontrollmekanismerna började hämma utvecklarnas möjligheter att maximera hårdvarans potential. Det främsta exemplet på detta är utnyttjande av flerkärniga processorer, där kontrollmekanismerna i högnivågränssnitt som DirectX 11 och OpenGL 4.5 medför latens i överlämningen av ritanrop (draw calls) mellan processor och grafikkrets.

Denna latens var också ett hinder för moderna speltrender som virtuell verklighet, där funktioner som Asynchronous Compute tillkommit de nya gränssnitten för att undvika problemet. Med lågnivågränssnitt som DirectX 12 och Vulkan återgår alltså industrin till en modell där utvecklare arbetar närmare hårdvaran, om än inte lika nära som de tidiga spelkonsolerna.

Mer hårdvarunära utveckling på PC-sidan, mer avancerade operativsystem samt gemensam instruktionsuppsättning mellan de två plattformarna antyder alltså att utveckling för konsol och PC numera är likartad. Är det verkligen så i praktiken?

Kommentarer till artikeln

31 debattinlägg

Skicka en rättelse
48

Huawei och Google – det här innebär handelsblockaden för dig

Dagarna efter Googles beslut att stänga ute Huawei från Android finns många frågor om hur det påverkar befintliga kunder, och vad det innebär att Android är "open source". Läs mer

20

SweClockers släpper officiell roadmap för Meet & Geek – nästa anhalt Örebro!

När och var är nästa Meet & Geek? Det är en vanlig fråga som nu får svar när vi släppt en officiell roadmap som ska visa alla planerade tillfällen för de kommande tolv månaderna. Läs mer

47

Sony demonstrerar snabbladdad SSD-lagring i Playstation 5

En video på Sonys teknikdemonstration av snabbladdad lagring i nästa generations Playstation letar sig ut på webben och visar fördelarna mot dagens Playstation 4 Pro. Läs mer

I samarbete med Alienware
17

Imponerande VR-koncept vinner värstingdator från Alienware

SweClockers medlemmar har sagt sitt och Alienwares koncepttävling är nu avgjord, där vinnaren plockar hem företagets högpresterande och uppgraderingsbara gaminglaptop Area51m. Läs mer

117

Sapphire: "AMD lanserar Radeon Navi den 7 juli – går upp mot Geforce RTX 2070"

Under ett pressevenemang i Kina berättar en representant för Sapphire om lanseringsdatumet för AMD:s nästa generations grafikkort, men också priser och hur det blir med stöd för ray tracing. Läs mer

42

Huawei får 90 dagars uppskov på blockaden

Huawei beviljas ett uppskov på handelsblockaden och kan under 90 dagars tid fortsatt ge kunder tillgång till Googles tjänster samt app-uppdateringar på amerikanska marknaden. Läs mer

37

Fullstora tangentbord populärast bland SweClockers medlemmar

Tangentbord är nästintill ett måste för att använda en dator och storleken på dessa skiljer. Vi har sammanställt vad SweClockers medlemmar föredrar i tangentbordsstorlek. Läs mer

60

Spelmöss med 16 000 CPI – behövs det ens?

Dagens spelmöss marknadsförs ofta med otroligt höga CPI-värden, men det säger egentligen ingenting om prestandan. SweClockers reder ut vad 16 000 CPI innebär i praktiken. Läs mer

13

HP Enterprise köper superdatorföretaget Cray för 13,5 miljarder kronor

Hewlett Packard Enterprise förvärvar nu superdatorföretaget Cray Computers, som ett steg i jakten på beräkningskraft på så kallad exaskala. Läs mer

55

Huawei: "Redan sålda telefoner får fortsatt säkerhetsuppdateringar"

I ett försök att lugna kunder meddelar Huawei att de kommer hålla befintliga telefoner uppdaterade. Frågetecken kvarstår dock om dessa kan uppdateras med nästa stora Android-version. Läs mer

22

Gigabytes BIOS-uppdateringar för X470- och B450-moderkort aktiverar PCI Express 4.0

Det är sedan tidigare känt att Gigabyte ska ge förra generationens moderkort stöd för Ryzen 3000-seriens processorer, och nu visar det sig att de även kan få stöd för PCI Express 4.0. Läs mer

62

MDS-säkerhetsuppdateringarna drabbar Intel fem gånger hårdare än AMD

Säkerhetsuppdateringar för att täcka till MDS-sårbarheterna drabbar Intels processorer fem gånger hårdare än rivalen AMD. Detta enligt nya prestandamätningar. Läs mer