Idén márciusban biztossá vált, hogy érkezik a DirectX 12, amelyről az alábbi cikkben be is számoltunk, illetve azt is elemeztük, hogy milyen hardveren működhet az API. Érdekes kérdés maradt azonban, hogy a rendszer csak az érkező új Windows kiváltsága lesz-e, vagy esetleg a Microsoft elérhetővé teszi a Windows 7 és 8 operációs rendszereken is. Mint ismeretes a redmondi óriáscég a DirectX 10 bemutatása óta szinte az összes új verziót a legújabb Windows operációs rendszerhez köti, ami nem túl felhasználóbarát megközelítés, de az üzlet az elsődleges szempont. A DirectX 12 esetében azonban jó esély van rá, hogy ez a koncepció valamilyen szinten megváltozik, ugyanis a játékfejlesztők számára rendkívül nehézkes lesz az alacsony szintű hardverelérést biztosító grafikus API-khoz készült programokat normális sebességgel futtathatóvá tenni a korábbi, hagyományos megközelítéssel működő grafikus API-kon.
Információink szerint szinte mindegyik stúdió ostromolja a Microsoftot a különféle igényeikkel, amelyek zömében arra vonatkoznak, hogy a DirectX 12 alapfunkciói legyenek elérhetők lehetőleg a Windows 7-ig visszamenőleg. Erre vonatkozóan szinte minden fejlesztőnek ugyanazokat az érveket vonultatja fel. A DirectX 12 az alacsony szintű hardverelérésre vonatkozó fejlesztések következtében egy költségcsökkentést lehetővé tevő rendszer. Többek között a hardverkonfigurációk sokkal jobban kihasználhatók és sokkal kevesebb idő szükséges a kitűzött teljesítményszint eléréséhez. Mindemellett az alkalmazott videojáték-motor sokkal hatékonyabban működhet PC-n, mivel láthatóvá vállnak azok a többletterhelést okozó kódrészletek, amelyeket DirectX 11-gyel lehetetlen optimalizálni. A legfontosabb tényező azonban, hogy a konzolokhoz tervezett tartalmat nem kell a PC-hez, ezen belül is a grafikus meghajtókhoz optimalizálni.
Hirdetés
Utóbbi nem feltétlenül jelent minőségromlást a PC-n, de a konzolokhoz tervezet, PC-s problémákat figyelmen kívül hagyó tartalom sokat lassít a DirectX 11-es API-ra tervezett programon. Ennek két oka van. Az egyik, hogy a két új generációs konzol úgynevezett explicit bindless bekötési modellt használ, míg a másik, hogy a konzolokon explicit párhuzamos a parancspufferek kezelése is. Előbbi a processzor oldalán kvázi ingyenes, míg utóbbi szimplán nagyon jól párhuzamosítható. Eközben a PC-s, szabványos grafikus API-kban alkalmazott bekötési modell igen nagy processzorterheléssel jár, és még a rajzolási parancsokra vonatkozó munkamenet sem párhuzamosított. Az említett gondokat a legtöbb stúdió úgy próbálja csökkenteni, hogy a tartalmat a szakemberek a PC-s grafikus meghajtókhoz optimalizálják. Ez azonban rengeteg időt és pénzt emészt fel az adott játék fejlesztése során.
A tartalomkészítés az a terület, amit a legtöbb stúdió egyszerűsíteni szeretne. Megtudtuk, hogy manapság az erre szánt összeg harmada csak arra megy el, hogy a már kész és konzolon makulátlanul működő tartalom a PC-hez legyen optimalizálva. Ezt azonban nem igazán oktatják, és valljuk be nem is logikus, hogy a tartalmat készítő szakemberek a többletterhelés csökkentése céljából tervezzék át a különböző modelleket és textúrákat. Ideális esetben a grafikus meghajtókat nem is kellene elemezniük, hiszen ez az adott videojáték-motor programozójának a dolga, de olyan furcsa helyzet állt elő, hogy a programozók ezzel a problémával már nem tudnak mit kezdeni, míg a tartalomkészítők segíthetnek a nagyobb sebesség elérésében.
A fentiek következtében a fejlesztők legfőbb gondja, hogy hiába érkezik a DirectX 12, ha azt a Microsoft nem teszi elérhetővé az elterjedt Windows operációs rendszereken. Egyszerűen számolni kell azzal a lehetőséggel, hogy túl sok játékos, ezen belül is potenciális vásárló ragad a régi DirectX 11-es felületen. Utóbbi abból a szempontból kellemetlen, hogy nem lehet megspórolni, vagy más fontosabb területekbe befektetni azt a tartalomkészítésre szánt erőforrást, amit ma a grafikus meghajtókhoz való optimalizálás elvisz, illetve a valóban új generációs tartalmak szimplán nem vethetők be PC-n az alacsony szintű hardverelérést biztosító grafikus API-k nélkül. Technikailag a hardverek képesek ezeket megjeleníteni, de nem lenne olyan erős konfiguráció a piacon, amely használható sebességgel, vagy akadások nélkül mozgatná ezeket.
Úgy tudjuk, hogy a fejlesztők a Microsoft számára leadtak egy olyan listát, hogy a DirectX 12 API mely részeire van elengedhetetlenül szükségük. A redmondi óriáscég is vizsgálja annak lehetőségét, hogy az új API-ból mit érdemes visszamenőlegesen beépíteni a Windows 7 és 8 operációs rendszerekbe. Ez nem járna igen extrém munkával, illetve egy ingyenes rendszerfrissítéssel megoldható lenne. Utóbbit akár a DirectX 12-t alapértelmezetten igénylő játékokkal együtt is lehetne szállítani, de nyilván egyszerűbb a Windows Update szolgáltatásra bízni a dolgot. Ezzel a megoldással a fejlesztők kapnának egy elfogadható potenciális vásárlóbázist, ami elég nagy ahhoz, hogy a DirectX 11 API támogatását szimplán el lehessen dobni, jelentősen csökkentve a PC-s fejlesztés költségeit, illetve lényegesen javítva a portok minőségét és sebességét.
Van azonban egy másik, leginkább üzleti szempont is. A Microsoft természetesen a fejlesztők problémáját értik, és valószínűleg nem cél a PC-s portok minőségének lerontása, illetve a partnereik munkájának akadályozása. Ugyanakkor az sem kifizetődő, hogy a DirectX 12 teljes egészében elérhető legyen a régi Windows operációs rendszereken. A jelenlegi koncepció szerint a legtöbb érintett kibékülne egy olyan kompromisszumos megoldással, amely arról szól, hogy magát az API-t tényleg megkapná még a Windows 7 is, de csakis a legalacsonyabb D3D_FEATURE_LEVEL_11_0 szinttel, míg a modernebb funkciók az új Windows operációs rendszerhez lennének kötve. Ennek a megoldásnak az előnye, hogy a Windows 7-ig visszamenőleg értékelhető az API hatékonysága, ami a programfuttatás szempontjából ideális, míg az új generációs effekteket már csak az új Windowson lehetne bekapcsolni. Utóbbival lényegében a Microsoft is frissítésre kényszerítheti a játékosokat.
Információink szerint a Windows Vista is előkerült, mint olyan operációs rendszer, amelyre a DirectX 12 elérhetővé tehető, de a Microsoft ezzel már szimplán nem szeretne foglalkozni. A fejlesztők sem nagyon erőltetik a Windows 7-nél régebbi opciók komolyabb támogatását, de utóbbi rendszer tényleg kritikus fontosságú, hiszen a játékosok többsége ezt használja, és nem valószínű a tömeges átállás az új Windows operációs rendszerre. Eközben 2016-ban nagyon sok játékot szeretnének a fejlesztőstúdiók a DirectX 11 támogatása nélkül kiadni, mivel ez az API egyszerűen csak teher számukra.