Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A DirectX 12 bemutatja a Direct3D következő verzióját – a 3D grafikus API-t a DirectX középpontjában. A Direct3D 12 gyorsabb és hatékonyabb, mint bármely korábbi verzió. A Direct3D 12 gazdagabb jeleneteket, több objektumot, összetettebb effektusokat és a modern GPU-hardverek teljes kihasználását teszi lehetővé.
Hogyan lehet a Direct3D 12 sokkal gyorsabb és hatékonyabb?
A Direct3D 12 abban egyedülálló, hogy alacsonyabb szintű hardver absztrakciót biztosít, mint a korábbi verziók, így jelentősen javíthatja a cím (vagy más alkalmazás) többmagos PROCESSZORméretezését. Egy dolog, a Direct3D 12, a cím felelős a saját memóriakezelési. Emellett a Direct3D 12 használatával a címek és alkalmazások is profitálhatnak a csökkentett GPU-terhelésből olyan funkciók révén, mint a parancssorok és listák, a leíró táblák, valamint a tömör folyamatállapot-objektumok.
A Direct3D 12 és a Direct3D 11.3 új funkciókat vezet be a renderelési folyamathoz.
- Konzervatív raszterizálás a megbízható találatészlelés érdekében.
- Térfogatmozaik-erőforrások, hogy a streamelt háromdimenziós erőforrások úgy legyenek kezelve, mintha mind a videomemóriában lennének.
- Raszterizáló által rendezett nézetek a megbízható áttetszőségi renderelés érdekében.
- A stencil referencia beállítása egy shaderben a speciális árnyékolás és egyéb effektusok engedélyezéséhez.
- Továbbfejlesztett textúraleképezés és begépelt rendezetlen hozzáférési nézet (UAV) betöltődik.
Milyen mélyen kell fektetnem a Direct3D 12-be?
A Direct3D 12 négy fő előnyt biztosít a grafikus fejlesztők számára (a Direct3D 11-hez képest).
- Jelentősen csökkentett processzorterhelés.
- Jelentősen csökkentette az energiafogyasztás.
- Legfeljebb körülbelül 20% javulás a GPU hatékonyságában.
- Platformfüggetlen fejlesztés Windows 10-eszközökhöz (PC, táblagép, konzol, mobil).
A Direct3D 12 speciális grafikus programozók számára készült. Jelentős grafikai szakértelemre és magas szintű finomhangolásra van igény. A Direct3D 12 úgy lett kialakítva, hogy teljes mértékben kihasználja a többszálas használatot, a gondos CPU-/GPU-szinkronizálást, valamint az erőforrások egyik célról a másikra való áttűnését és újrahasználatát. Ezek olyan technikák, amelyek jelentős mennyiségű memóriaszintű programozási készséget igényelnek.
A Direct3D 12 egy másik előnye a kis API-lábnyoma. Körülbelül 200 függvény létezik, és ezek körülbelül egyharmada végzi el a nehezebb feladatokat. Ez azt jelenti, hogy grafikus fejlesztőként képesnek kell lennie arra, hogy megtanítsa magát a teljes API-készletre anélkül, hogy túl sok API-nevet kellene megjegyeznie.
A Direct3D 11 továbbra is életképes megoldás a Direct3D 12 mellett. A Direct3D 12 számos új renderelési funkciója elérhető Direct3D 11.3. A Direct3D 11.3 egy alacsony szintű grafikus motor API; és a Direct3D 12 még mélyebbre megy.
A fejlesztői csapatnak legalább két módja van arra, hogy megközelítse a Direct3D 12 címet.
Kizárólag a Direct3D 12 használata
A Direct3D 12 minden előnyét végső soron kihasználó projekt esetében egy teljesen testre szabott Direct3D 12-motort kell kifejlesztenie az alapoktól kezdve.
Ha Ön grafikus fejlesztőként tisztában van a címekben lévő erőforrások használatával és újrahasználatával, és ezt a feltöltés és másolás minimalizálásával kihasználhatja, akkor egy rendkívül hatékony motort fejleszthet és szabhat testre ezekhez a címekhez. A teljesítménybeli fejlesztések nagyon jelentősek lehetnek, ami időt szabadít fel a processzor számára a rajzhívások számának növeléséhez, és így több csillogást adhat a grafikus elemekhez.
A programozási beruházás jelentős, és érdemes megfontolni a projekt hibakeresését és instrumentálását a kezdetektől fogva. A szálkezelés, a szinkronizálás és más időzítési hibák kihívást jelenthetnek.
A Direct3D 12 használata együtt a Direct3D 11-gyel
Egy rövid távú megközelítés lehetne az ismert szűk keresztmetszetek kezelése a Direct3D 11-alkalmazásban. Ezeket Direct3D 12 interop és/vagy D3D11On12 technikákkal kezelheti, amelyek lehetővé teszik a két API-verzió együttes használatát. Ez a megközelítés minimálisra csökkenti a meglévő Direct3D 11 grafikus motor módosításait. A teljesítménynövekedés azonban a Direct3D 12-kód által megadott szűk keresztmetszet enyhítésére korlátozódik.
Microsoft DirectX 12 (és grafikus oktatási) videók
Továbbfejlesztett oktatás grafikus fejlesztőknek. Ezek a videók olyan témaköröket fednek le, mint a bemutatómódok, a DirectX 12-be való portolás, a konzervatív raszterizálás, a grafikus eszközök, az Angle, a Win2D és az olyan események, mint a GDC, a Build stb. A DirectX 12 tartalmak a DirectX 12előtaggal kezdődnek. Itt közvetlenül a Direct3D 12 szolgáltatás csapatától tudhat meg tippeket és trükköket. Szeretnénk segíteni, hogy a legújabb kiadásainkat és eszközeinket használva a játék a lehető legjobb legyen!
Következtetés
A Direct3D 12 a grafikus motor drámai teljesítményéről szól. A könnyű fejlesztés, a magas szintű szerkezetek és a fordító támogatása vissza lett skálázva ennek engedélyezéséhez. Az illesztőprogramok támogatása és a hibakeresés egyszerűsége a Direct3D 11-hez egyenértékben marad.
A Direct3D 12 új terület. Terület, amely arra vár, hogy a kíváncsi szakértő jöjjön és fedezze fel.