Megosztás a következőn keresztül:


Mi az a Direct3D 12?

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.