Hirdetés

Új funkcióellenőrző modult tervezett a Microsoft a DirectX 12-be

Mostantól jóval hatékonyabban is meg lehet tudni, hogy mit támogat az adott DirectX 12-es implementáció.

A DirectX 12 – a legtöbb grafikus API-hoz hasonlóan – különböző olyan képességeket is kínál, amelyek a hardverek egy részét használhatók csak ki. Így van ez már az API 2015-ös megjelenése óta, és a Microsoft kínál is rá egy olyan funkcióellenőrző modult, amely garantálja, hogy a megírt kódban az egyes képességek csak a megfelelő implementációkon futnak.

Hirdetés

Gond ebből korábban nem volt, de az elmúlt évek alatt számos új, esetlegesen opcionális funkcióval egészült ki a szóban forgó API, aminek következtében az eredeti funkcióellenőrző modul használata nehézkessé vált. A legnagyobb baj, hogy az ellenőrizendő képességet nem lehet csak úgy megadni, előbb definiálni kell a funkciócsoportot, aminek a része, viszont a dokumentáció a funkciókra van megírva nem a konkrét képességekre, vagyis az egész, amúgy pár soros kód megírása során nagyrészt arra megy el az idő, hogy szűrni kívánt képesség pontos funkciócsoportját meghatározza a fejlesztő.

Ugyan a Microsoft próbált egyszerűsíteni az úgynevezett funkciószintekkel, de ez csak az elején volt hasznos. Manapság már maga a Windows 10 sem tekinthető egy teljesen átfogó platformnak, ugyanis az egyes felhasználók az operációs rendszer különböző verzióit futtatják. Ez például azért baj, mert a legújabb funkciószint képességeit már régebb óta tartalmazzák az egyes Windows 10 verziók, de az ezeket csoportosító funkciószintet csak az újabb változatok kapták meg. Ergo hiába létezik a maga a funkciószint, úgyis egyenként kell a programon belül ellenőrizni a képességeket, gondolva a régebbi Windows 10 verziókon történő futtathatóságra. Ráadásul a jelenlegi legjobb funkciószint nem tartalmazza az összes definiált képességet, tehát elméletben már most szükség lenne egy még újabb funkciószint bevezetésére.

A fentiek miatt a Microsoft bevezeti a CD3DX12FeatureSupport osztályt, amely egy új, funkcióellenőrzésre szánt modul az API-n belül. Ennek a célja radikális mértékben csökkenteni a szűrni kívánt képességek ellenőrzésének komplexitását. Már maga a beírandó kód is jóval rövidebb lesz, de ami ennél fontosabb, hogy nem szükséges meghatározni a képesség funkciócsoportját, így a dokumentációkat sem kell sokáig bújni ehhez a művelethez. Mindemellett, ha egy képességet nem sikerült felismerni, mondjuk azért, mert túl régi futtatási környezet, akkor az nem hibakódot ad vissza, hanem konkrétan a funkció hiányát jelzi majd. Ezáltal nem kell a hibakódot külön kezelni programkódban.

Az új ellenőrzőmodul már elérhető az alábbi oldalon keresztül, a frissített D3D12 header állományban. A Microsoft írt egy példaprogramot is, hogy össze lehessen hasonlítani a régi és az új modul működését. Ebben ténylegesen látszik, hogy mennyivel egyszerűbb az új funkcióellenőrzőt használni.

Hirdetés

Fotóznál vagy videóznál? Mutatjuk, melyik okostelefon mire való igazán!

PR Vásárlás előtt érdemes megnézni, mit kínálnak az aktuális telefonok, ha igazán ütős képeket vagy profi mozgóképeket szeretnénk készíteni.

Azóta történt

Előzmények