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


Direct3D 12 szószedet

Ezek a kifejezések megkülönböztetik a Direct3D 12-t.

kötési

A memória grafikus folyamathoz való csatolásának folyamata. Az erőforráskötés például magában foglalja egy erőforrás, például egy textúra, csatornához kötését, amely egy objektum rendereléséhez használható.

puffer

Olyan D3D-erőforrástípus, amely szinonimája az egybefüggő memóriafoglalásnak.

csomag

Olyan parancspuffer, amelyet a grafikus feldolgozó egység (GPU) csak közvetlenül, közvetlen parancslistán keresztül hajthat végre. Egy csomag örökli az összes GPU-állapotot (kivéve a jelenleg beállított folyamatállapot-objektumot és a primitív topológiát).

parancselosztó

Az alapul szolgáló memóriafoglalások, amelyekben a GPU-parancsok tárolódnak. A parancselosztó objektum közvetlen parancslistákra és kötegekre is vonatkozik.

parancslista

A parancslista egy parancskészletnek felel meg, amelyet a GPU hajt végre. Ilyenek például az állapot beállítására, a rajzolásra, a törlésre és a másolásra vonatkozó parancsok. A D3D12 parancslista felülete jelentősen eltér a D3D11 parancslista felületétől. A D3D12 parancssori felület a D3D11 eszközkörnyezet renderelési API-ihoz hasonló API-kat tartalmaz.

A D3D12-parancslisták nem képeznek le és nem oldanak fel erőforrásokat, nem módosítják a csempeleképezéseket, átméretezik a csempekészleteket, lekérdezési adatokat kérnek le, és nem küldenek parancsokat a GPU-nak végrehajtás céljából.

A D3D11 késleltetett környezetekkel ellentétben a D3D12 parancslistái csak két közvetett szintet támogatnak. A közvetlen parancslista egy parancspuffernek felel meg, amelyet a GPU végre tud hajtani. A csomag csak közvetlenül, közvetlen parancslistán keresztül hajthatók végre.

A közvetlen parancslista nem örökli a GPU-állapotot. Egy csomag örökli az összes GPU-állapotot (kivéve a jelenleg beállított folyamatállapot-objektumot és primitív topológiát).

A parancslista memóriáját a parancskiosztóállítja be. A parancslisták célja, hogy egyetlen renderelési kérelemként elküldhetők egy GPU-nak.

parancssorba állítás

A parancssor felsorolja, amelyeket a GPU egymás után hajt végre. Az alkalmazásoknak explicit módon kell elküldenie parancslistákat parancssorba végrehajtás céljából. Általában három parancssor van: 3D grafikus elemek, számítás és másolás, amelyek a 3D grafikus folyamatnak, a számítási motornak és egy vagy több másolási motornak felelnek meg a GPU-n.

konzervatív raszterizáló

A konzervatív raszterizálás a Direct3D grafikus folyamat raszterizátoros szakaszának működési módja. Letiltja a szabványos mintaalapú raszterizálást, és ehelyett raszterizál egy olyan képpontot, amelyet bármilyen mennyiségű primitív fedez. Az egyik fontos különbség az, hogy bár bármilyen lefedettség raszterizált képpontot hoz létre, ezt a lefedettséget nem lehet a hardver jellemezni, így a lefedettség mindig binárisan jelenik meg a pixel shader számára: vagy teljesen lefedett, vagy nem fedett. A képpontárnyékoló kódjára van hagyva, hogy analitikusan meghatározza a tényleges lefedettséget.

A konzervatív raszterizálás segíthet az olyan problémákban, mint az ütközések és a találatok észlelése, a dobozolás és az elzáródás, ahol a képpont színe biztosabb, és a peremes esetek kiküszöbölhetők. Lásd konzervatív raszterizálás.

Állandó Puffernézet (CBV)

Az állandó pufferek árnyékolóállandó adatokat tartalmaznak, például kameranézetet, vetítési mátrixokat és világmátricákat. Az "állandó puffernézet" a puffer formátumspecifikus nézete a grafikus folyamat által látott módon.

alapértelmezett halom

Egy felhasználói módú halom, amely az állandó GPU-erőforrástípusok, köztük a GPU által írt erőforrások támogatására összpontosít.

leíró

A leírók a D3D12 egyetlen erőforrásának elsődleges kötési egysége. A leíró egy viszonylag kis adatblokk, amely teljes mértékben leírja a GPU objektumait, GPU-specifikus formátumban. Számos különböző típusú leíró létezik: Shader Resource Views (SRVs), Unordered Access Views (UAVs), Constant Buffer Views (CBVs) és Samplers néhány példa.

leíró halom

A deskriptor halma a deskriptorok egybefüggő lefoglalásainak gyűjteménye, ahol minden deskriptorhoz egy-egy lefoglalás tartozik. A leíró halom elsődleges pontja, hogy magában foglalja a memórialefoglalás nagy részét, amely azoknak az objektumtípusoknak a leíró specifikációinak tárolásához szükséges, amelyekre az árnyékolók a lehető legnagyobb méretű renderelési ablakra hivatkoznak (ideális esetben a renderelés teljes kerete vagy több).

leíró tábla

A leírótábla logikailag leírók tömbje. Minden leíró tábla egy vagy több típus leíróit tárolja, beleértve az SRV-ket, az UAVe-t, a CBV-eket és a mintavevőket. A leírótábla nem memóriaterületet foglal el, csupán eltolást és hosszt jelez egy leíró halomban.

közvetlen parancslista

A GPU által végrehajtható parancspuffer. A közvetlen parancslista nem örökli a GPU-állapotot.

kerítés

A GPU és a CPU szinkronizálására szolgáló mechanizmus. A GPU és a CPU is utasítható arra, hogy várjon egy kerítésnél, és várjon arra, hogy a másik processzor felzárkózjon. Lásd többmotoros szinkronizáció.

veszély és veszélykövetés

Veszély akkor fordul elő, ha egy erőforrást egy célra használnak, és az alkalmazás más célra kívánja felhasználni. Az erőforrás ismételt használatához a köztes gyorsítótárakat ki kell üríteni vagy érvényteleníteni, a tömörítési követelményeknek összhangban kell lenniük a második használattal, és az erőforrásnak abban a szükséges állapotban kell lennie, hogy elkerülje az olvasást, miután azt már megírták és érvénytelenítették a kívánt célra.

Az erőforrások karbantartásának és a szinkronizálási problémák elkerülésének folyamatát veszélykövetésnek nevezzük. Ha a sofőr nem követi nyomon a veszélyeket, akkor az alkalmazás ezért felelős. A DirectX legtöbb korábbi verziójában a veszélykövetést az illesztőprogram kezelte. A teljesítmény javítása érdekében a veszélykövetés nélküli módszerek a DirectX 12-ben érhetők el.

High-Level Shader Language (HLSL)

A C nyelvhez hasonló, de sok szempontból eltérő számítógépnyelv, amely a shader-kód írására szolgál. A csúcsok, a képpontok, a geometria, a számítás, a tartomány és a burkolat árnyékolói mind HLSL használatával vannak megírva. A fordító a HLSL-forrást bináris formátummá alakítja a GPU-k számára.

többmotoros

Különböző motortípusok és példányok egy adott GPU-ban. A motortípusok a következők: grafika, számítás és másolás.

MultiGPU

Egy hardverkonfiguráció, amelyben egynél több grafikus adapter található. A különálló adaptereket csomópontoknak is nevezik. Ha több GPU-val rendelkezik, az a feladat, hogy szinkronizálja őket a CPU-val és egymással, lényegesen összetettebb, mint egyetlen GPU-val.

csővezeték állapotobjektum (PSO)

A GPU állapotának jelentős része. Ez az állapot tartalmazza az összes jelenleg beállított árnyékolót és bizonyos rögzített függvényű állapotobjektumokat. A folyamatobjektumban található állapotok módosításának egyetlen módja az aktuálisan kötött folyamatobjektum módosítása.

predikáció

A predikáció egy olyan funkció, amely lehetővé teszi, hogy a GPU ne a cpu határozza meg, hogy ne rajzoljon, másoljon vagy küldjön el objektumot. Ha például egy objektum egy határolókeretét teljesen elzárja egy másik objektum, vagy a perspektíva a képpont méreténél kisebbre csökkentette az objektumot, akkor egyáltalán nem lehet értelme megrajzolni a rejtett objektumot. Lásd: Predikáció.

Rasterizer Order View (ROV)

Előfordulhat, hogy a szabványos grafikus folyamatok nem megfelelően alkotnak össze több átlátszóságot tartalmazó textúrát. Az olyan objektumok, mint a drótkerítések, a füst, a tűz, a növényzet és a színes üveg átlátszóság használatával érik el a kívánt hatást. Problémák akkor merülnek fel, ha több átlátszóságot tartalmazó anyag egymással összhangban van (például egy növényzetet tartalmazó üvegépület előtt lévő kerítés előtt lévő füst). A Raszterizer rendezett nézetei (ROV-k) lehetővé teszik, hogy az alapul szolgáló Order Independent Transparency (OIT) algoritmusok a hardver funkcióit használva megpróbálják helyesen feloldani az áttetszőségi sorrendet. Az átlátszóságot a képpontárnyékoló kezeli.

A Rendezett Raszterizáló Nézetek (ROV-k) lehetővé teszik, hogy a pixeles árnyékoló kódja a nem rendezett hozzáférési nézet (UAV) kötéseit olyan deklarációval jelölje meg, amely megváltoztatja az UAV-k grafikus munkafolyamatának eredményére vonatkozó normál sorrendi követelményeket.

visszaolvasási halom

Egy felhasználói módú halom, amely a GPU-ból a processzorba való adatátvitelre összpontosít.

erőforrás

Egy entitás, amely adatokat szolgáltat a folyamatnak, és meghatározza, hogy mi jelenik meg a jelenet során. Az erőforrások betölthetők a játék adathordozójáról, vagy futtatáskor dinamikusan hozhatók létre. Az erőforrások általában a textúraadatokat, a csúcsadatokat és a árnyékolóadatokat tartalmazzák. A legtöbb Direct3D-alkalmazás teljes életciklusa során nagy mértékben hoz létre és semmisít meg erőforrásokat.

erőforráskorlát

Az erőforrás-akadály értesíti az illesztőprogramot, hogy szükség lehet több hozzáférés szinkronizálására egyetlen erőforráshoz, például olvasásra és írásra ugyanahhoz az anyagmintához.

erőforrás-kötés

Az erőforrás-kötés az erőforrások (textúrák, csúcspufferek, indexpufferek stb.) a grafikus folyamathoz való csatolásának folyamata, amely lehetővé teszi a folyamat árnyékolói számára a megfelelő erőforrás feldolgozását.

erőforrás-halmok

Az erőforrás-halom azokra a halmokra vonatkozó általános kifejezés, amelyek olyan memóriapufferek, amelyeket az erőforrások GPU-ba és GPU-ból történő átvitele során tartalékként használnak. A GPU-ba történő átvitelhez feltöltési halomra van szükség, a GPU-ról a CPU-ra visszaolvasási halom szükséges, és a GPU több renderelési kerettel való fenntartásához állandó halomnak nevezzük az alapértelmezett halomot.

gyökéraláírás

A fő aláírások határozzák meg az összes olyan erőforrást, amelyet a grafikus vagy számítási folyamatokhoz kell kötni. A fő aláírást az alkalmazás konfigurálja, és a parancslistákat azokhoz az erőforrásokhoz csatolja, amelyeket az árnyékolók igényelnek, általában alkalmazásonként egy grafika és egy számítási gyökérkód található.

mintavevő

A mintavevő egy kód, amely textúrából olvas.

Shader Resource View (SRV)

Formátumspecifikus módszer az árnyékolóerőforrásban lévő adatok, például a textúra megtekintésére.

statikus halom

Olyan felhasználói módú halmaz, amely több, a GPU által csak olvasható erőforrásra összpontosít, amelyeket általában egyszerre használnak, és amelyeken ritkán történik változtatás.

felcserélési lánc

A felcserélési láncok vezérlik a háttérpuffer forgását, ami a grafikus animáció alapját képezi. A swapláncokat az alacsony szintű API-készlet DXGI kezeli (lásd DXGI áttekintése).

swizzle

A többdimenziós adatok memóriában való keresésének technikája, amely során a közeli dimenziójú adatok általában közeli címekkel rendelkeznek. Az egyik sor összes adata nem található egybefüggően a következő sor adatai előtt. A "Paraméteres swizzle" egy szabványosított módszert ír le a swizzle minták leírására.

textúra

Többdimenziós D3D-erőforrástípus, amely a GPU-ból való többdimenziós hozzáférésre optimalizált memóriaelrendezéssel rendelkezik. A textúrák gyakran tartalmazzák a felületre való rendereléshez szükséges nyers képet, mielőtt világításra és keverésre kerül sor, de más adatformákat is tartalmazhatnak, például színátmeneteket és referenciaszíneket. A Direct3D 12 egy, két és háromdimenziós textúrát támogat.

csempe

A videomemória lapja, hasonló a processzor-/rendszeroldalhoz. A csempe jelölése segít megkülönböztetni a GPU virtuális memória alrendszerét a CPU virtuális memória alrendszerétől. A GPU-k hasonló virtuális memóriát biztosítanak, mint a rendszer virtuális memóriája. Egyes GPU-k megosztott virtuális memóriafunkciókkal rendelkeznek, amelyek lehetővé teszik a virtuális memória alrendszer egyes lapjainak megosztását a CPU-val és a GPU-val.

csempézett erőforrások

A csempék erőforrásaira azért van szükség, hogy kevesebb GPU-memória menjen kárba az olyan felületi régiók tárolása miatt, amelyekről az alkalmazás tudja, hogy nem lesznek hozzáférhetők, és a hardver megérti, hogyan szűrjön a szomszédos csempék között. A lapolt erőforrások nagy logikai kapacitásúak, de csak kis mennyiségű fizikai memóriát igényelnek.

Rendezetlen hozzáférési nézet (UAV)

Egy erőforrás rendezetlen hozzáférési nézete (amely puffereket, textúrákat és textúratömböket is tartalmaz – több mintavételezés nélkül), lehetővé teszi a több szálból származó, időbelileg rendezetlen olvasási/írási hozzáférést. Ez azt jelenti, hogy ez az erőforrástípus egyszerre több szálon is olvasható/írható memóriaütközések nélkül.

feltöltési halom

Felhasználói módú halom, amely a processzorról a GPU-ra történő adatátvitelre összpontosít.

felhasználói módú halom

Nagy, egybefüggő memóriafoglalások gyűjteménye, amelyek a kernel komponensek ismerete nélkül újrahasznosítva vannak: a kiosztási és megsemmisítési módszerek nem hívják meg a kernel által biztosított foglalási és megsemmisítési módszereket nyugalmi állapotban. A "Upload," "Readback" és az "Alapértelmezett" halom a felhasználói módú halmok változatai.

mennyiségi csempézett erőforrások

Háromdimenziós csempézett források.