2019. augusztus 20., kedd

Útvonal

Hírek » Életmód rovat

Könnyű kezdetet kínálnak az új konzolok

  • (f)
  • (p)
Írta: | | Forrás: PROHARDVER!

Mesteri szintű programozásuk azonban időbe telik, ahogy a korábbi generációknál is.

Az idei GDC-n majdnem minden fejlesztő esetében a vezető témát az új generációs konzolok képezték, név szerint a Microsoft Xbox One, illetve a Sony PlayStation 4. Jelenleg ezeket a gépeket minden fejlesztő a PC-s tapasztalatokra építve használja, és igen kevesen nyúlnak a titkos tartalékokhoz, melyekből az eddigi gyors kutatások szerint igen sok leledzik a szilíciumban.

Nyilván a fejlesztők többsége hozzászokott ahhoz, hogy minden konzolgenerációval új hardver jön, amelyre a korábbi kutatásokat zömében nem lehet újrahasznosítani, viszont cserébe magának a gépnek az életciklusa jellemzően 10 év, ami elég hosszú idő, így mondhatni az ökoszisztéma számára a generációváltás nem jelent megoldhatatlan problémát. Az előző generációs során persze nehéz volt az indulás, mivel sem az Xbox 360, sem pedig a PlayStation 3 esetében nem volt megszokott a hardver, így a megfelelő kihasználáshoz szükség volt egy tanulási fázisra. Ez az elején gyengébb grafikájú játékokat szült, de aztán a második fázisban már megvolt a kutatási alap a hardver hatékony kihasználásához, majd a generáció vége felé a fejlesztők assembly szintre is lemerészkedtek. Ezzel a kezdeti színvonalhoz képest folyamatos volt a fejlődés, így ha a nagyjából 7 évvel korábbi játékokat a maiakkal hasonlítjuk össze, akkor el sem hinnénk, hogy ugyanazokon a gépeken futnak.

A PlayStation 3 fejlődése: a kezdet (Uncharted: Drake's Fortune) és a vég (The Last of Us) A PlayStation 3 fejlődése: a kezdet (Uncharted: Drake's Fortune) és a vég (The Last of Us)
A PlayStation 3 fejlődése: a kezdet (Uncharted: Drake's Fortune) és a vég (The Last of Us) [+]

A fejlesztők szerint az új generációnál ez a folyamat egy picit más lesz. Az Xbox One és a PlayStation 4 esetében a jóval rövidebb a tanulási szakasz, ami egyrészt a PC-s alapoknak köszönhető, másrészt a két rendszer – a GDC-n elhangzottak alapján – sokkal egyszerűbben programozható, mint a korábbi generáció. Ezeknek köszönhetően már a második fázisban le lehet majd merészkedni assembly szintre, és ezt viszonylag gyorsan, 1-2 éven belül meg lehet majd tenni. Az új generációs konzolok mesteri szintű programozása azonban abban rejlik, hogy a fejlesztők mennyire hatékonyan használják az egy lapkába zárt CPU-t és IGP-t olyan algoritmusokra, amelyek jelenleg még nem is léteznek.

Nagy az egyetértés abban, hogy a legnagyobb előnyt ebben a generációban az egységes memória kihasználásából lehet szerezni. Ehhez egyelőre még csak az Electronic Arts sportjátékokkal foglalkozó részlege nyúlt, de az Ignite motor rendszere sem működik tökéletesen hatékonyan, ami persze abból a szempontból nem meglepő, hogy a funkció kihasználáshoz még a fejlesztőkörnyezetet is az EA Sports írta, tehát a programozók dolga eleve nem volt egyszerű, de legalább rengeteg fejlődési potenciál lakozik még a most kialakított motorban.

Optimalizálás a hardver megismerésével Optimalizálás a hardver megismerésével
Optimalizálás a hardver megismerésével [+]

Az Ubisoft szerint a konzolok jó kihasználásának kulcsa a GCN architektúra működésének a megértése. Erre nagyon gyorsan lehet jó hatékonysággal futó kódot írni, de a maximális kihasználáshoz már jóval több idő kell. Az alapok tekintetében SIMT (Single Instruction Multiple Thread) rendszerről van szó, amit a GPU-knál a programozók alapvetően kedvelnek, hiszen nem kell törődni a vektorizálással, illetve a szálak menedzselésével. Bár az architektúrához a korábbi konzolokkal gyűjtött optimalizálási tapasztalatok felhasználhatók és hatékonyak is, ennél jóval többet is meg lehet tenni. Itt viszont a fő gondot a kihasználtságra vonatkozó limitációk jelentik.

10 aktív wavefront/SIMD, 40 aktív wavefront/CU
10 aktív wavefront/SIMD, 40 aktív wavefront/CU

Ahhoz, hogy a nagy késleltetésű memóriaoperációk hatékonyan legyenek átlapolva, ki kell használni a CU-k (Compute Unit) teljes kapacitását, így törekedni kell arra, hogy 10-10 úgynevezett wavefront mindig aktív legyen az egyes SIMD motorokhoz. Ezzel a mennyiséggel az akár 800 ciklusig tartó memóriaoperációk is tökéletesen átlapolhatók. A kihasználtság növelése érdekében érdemes az LDS-t (helyi adatmegosztás) is csak a legszükségesebb esetekben használni. Erre főleg nagy szálcsoportok esetén nem érdemes túlzottan alapozni, mert ilyen esetben rontja a párhuzamosságot. Az Ubisoft előzetes véleménye, hogy egy adott algoritmus minimum kétszeres, de esetenként akár tízszeres tempóra is gyorsítható a GCN architektúrán, ha a programozó mesteri szinten elsajátítja rendszer fortélyait.

A fejlesztők kiemelték, hogy az Xbox One és a PlayStation 4 felépítése a multiplatform játékok esetében is nagyon előnyös. Bár ez elsősorban abból adódik, hogy mindkét gép CPU-ja és IGP-je ugyanazt az architektúrát használja, illetve az integráció strukturális felépítése is nagyon hasonló. Ennek köszönhetően, amelyik algoritmus működik az egyik konzolon az működni fog a másikon is.

Ez jelentősen leegyszerűsíti a fejlesztést, mivel az Xbox 360 és a PlayStation 3 esetében a legfőbb gond az volt, hogy az egyes elképzelések a két gép esetében esetlegesen eltérő algoritmusokat igényeltek, így ugyanannak a funkciónak az implementálása egy multiplatform játékban lényegében dupla munkát jelentett. A hasonló hardvernek köszönhetően a mostani generációban a multiplatform címek is tarthatják majd a lépést az exkluzív játékok technológiai színvonalával. Éppen ezért már most elkezdődtek a kutatások, hogy a mesterséges intelligenciát, illetve a fizikai szimulációkat hogyan lehet hatékonyan futtatni az IGP-n, és ezen a területen komoly áttörésekre lehet számítani a játékmenetre vonatkozóan. A fejlesztéseket segítik, hogy a middleware-ek is nagyon hasonló irányba indultak, többek között a Havok fizikai motor már rendelkezik egy olyan verzióval, mely nagyon gyors, heterogén módon futó merev test fizikát kínál az Xbox One és a PlayStation 4 konzolokra.

Gondot jelent persze, hogy az előbbi Havok modul PC-re, illetve a mobil eszközökre nem érhető el, tehát a multiplatform címek tekintetében csak a Xbox One és a PlayStation 4 játszik, míg a többi platformra butításokat kell alkalmazni, hogy a játékmenet megfeleljen mindegyik megcélzott gépen. A kiadók, illetve a fejlesztők számára ennek a problémának a megoldása jelenti majd a legnagyobb fejtörést, viszont a legtöbb multiplatform játéknak már eleve megfelelő potenciális vásárlóbázist jelent a két új konzol. Talán éppen ezért bizakodó a Sony és a Microsoft, hiszen a GDC-n elmondták, hogy véleményük szerint erre a generációra minden eddiginél több konzol exkluzív játék érkezik majd.

Hirdetés

Előzmények

Gyártók, szolgáltatók

Hirdetés

Copyright © 2000-2019 PROHARDVER Informatikai Kft.