Udostępnij przez


Podlokalizacja w

mają wszystkie funkcje niezbędne w D3D12, aby aplikacje przesyłały duży zakres przejściowych danych z procesora CPU do procesora GPU. W tej sekcji opisano cztery typowe scenariusze dotyczące używania zasobów i oraz zarządzania nimi.

Podobnie jak D3D11, aplikacje w D3D12 nadal muszą zadeklarować użycie pamięci podczas przydzielania w D3D12 w porównaniu do zasobów dynamicznych/przejściowych w D3D11, ale w D3D12 deweloperzy mają większą elastyczność i większą kontrolę nad użyciem pamięci. , za pośrednictwem podlokalizacji, mają wszystkie funkcje niezbędne do zarządzania pamięcią niskiego poziomu.

W tej sekcji

Temat Opis
przekazywanie różnych typów zasobów
Pokazuje, jak używać jednego buforu do przekazywania danych stałego buforu i danych buforu wierzchołka do procesora GPU oraz jak prawidłowo przydzielić i umieścić dane w. Użycie jednego buforu zwiększa elastyczność użycia pamięci i zapewnia aplikacjom większą kontrolę nad użyciem pamięci. Przedstawiono również różnice między modelami D3D11 i D3D12 na potrzeby przekazywania różnych typów zasobów.
przekazywanie danych tekstury za pośrednictwem
Przekazywanie danych tekstury 2D lub 3D jest podobne do przekazywania danych 1D, z tą różnicą, że aplikacje muszą zwrócić szczególną uwagę na wyrównanie danych związanych z skokami wierszy. mogą być używane ortogonalnie i współbieżnie z wielu części potoku grafiki i są bardzo elastyczne.
odczytywanie danych zwrotnych za pośrednictwem buforu
Odczytywanie z powrotem danych z procesora GPU, takich jak przechwytywanie zrzutu ekranu, obejmuje użycie sterty Readback.
zarządzania zasobamiFence-Based
Pokazuje, jak zarządzać okresem życia danych zasobów przez śledzenie postępu procesora GPU za pośrednictwem ogrodzeń. Pamięć może być skutecznie ponownie używana z ogrodzeniami starannie zarządzając dostępnością wolnego miejsca w pamięci, na przykład w implementacji buforu pierścieniowego dla sterty przekazywania.

zarządzanie pamięcią