Suballocation Within Buffers
Vyrovnávací paměti mají všechny funkce potřebné v D3D12 pro aplikace pro přenos velkého rozsahu přechodných dat z procesoru do GPU. Tato část popisuje čtyři běžné scénáře použití a správy prostředků a vyrovnávacích pamětí.
Podobně jako D3D11 musí aplikace D3D12 deklarovat využití paměti při přidělování vyrovnávacích pamětí v D3D12 v porovnání s dynamickými a pracovními prostředky v D3D11, ale v D3D12 mají vývojáři větší flexibilitu a větší kontrolu nad využitím paměti. Vyrovnávací paměti prostřednictvím suballokace mají všechny funkce potřebné ke správě paměti nízké úrovně.
V této části
Námět | Popis |
---|---|
nahrání různých typů prostředků |
Ukazuje, jak pomocí jedné vyrovnávací paměti nahrát data konstantní vyrovnávací paměti a data vyrovnávací paměti vrcholu do GPU a jak správně rozdělit a umístit data do vyrovnávací paměti. Použití jedné vyrovnávací paměti zvyšuje flexibilitu využití paměti a poskytuje aplikacím užší kontrolu nad využitím paměti. Ukazuje také rozdíly mezi modely D3D11 a D3D12 pro nahrávání různých typů prostředků. |
nahrání dat textury do vyrovnávacích pamětí |
Nahrávání 2D nebo 3D texturových dat se podobá nahrání 1D dat s tím rozdílem, že aplikace musí věnovat větší pozornost zarovnání dat související s výškou řádků. Vyrovnávací paměti lze použít orthogonálně a souběžně z několika částí grafického kanálu a jsou velmi flexibilní. |
čtení dat prostřednictvím vyrovnávací paměti |
Čtení dat z GPU, například zachycení snímku obrazovky, zahrnuje použití haldy readback. |
Fence-Based správy prostředků |
Ukazuje, jak spravovat životní rozsah dat prostředků sledováním průběhu GPU přes ploty. Paměť lze efektivně znovu použít s ploty pečlivě spravovat dostupnost volného místa v paměti, například v implementaci vyrovnávací paměti pro haldu upload. |