Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby zwiększyć wydajność procesora CPU aplikacji Direct3D, począwszy od wersji 12, direct3D nie obsługuje już bezpośredniego kontekstu skojarzonego z urządzeniem. Zamiast tego aplikacja rejestruje rekordy, a następnie przesyła listy poleceń, które zawierają wywołania rysowania i zarządzania zasobami. Te listy poleceń można przesłać z wielu wątków do co najmniej jednej kolejki poleceń, które zarządzają wykonywaniem poleceń. Ta podstawowa zmiana zwiększa wydajność jednowątkową, umożliwiając aplikacji wstępne wykonywanie renderowania obliczeniowego w celu późniejszego ponownego użycia i korzystanie z systemów wielordzeniowych przez rozłożenie pracy renderowania w wielu wątkach.
W tej sekcji
| Temat | Opis |
|---|---|
| Projektowanie filozofii kolejek poleceń i list poleceń | Cele włączenia ponownego użycia pracy renderowania i skalowania wielowątkowego, wymagały fundamentalnych zmian w sposobie przesyłania renderowania aplikacji Direct3D do procesora GPU. |
| Tworzenie i rejestrowanie list poleceń i pakietów | W tym temacie opisano rejestrowanie list poleceń i pakietów w aplikacjach Direct3D 12. Listy poleceń i pakiety umożliwiają aplikacjom rejestrowanie wywołań rysowania lub zmiany stanu w celu późniejszego wykonania w jednostce przetwarzania grafiki (GPU). |
| wykonywanie i synchronizowanie list poleceń | W usłudze Microsoft Direct3D 12 tryb bezpośredni poprzednich wersji nie jest już obecny. Zamiast tego aplikacje tworzą listy poleceń i pakiety, a następnie rejestrują zestawy poleceń procesora GPU. Kolejki poleceń służą do przesyłania list poleceń do wykonania. Ten model umożliwia deweloperom większą kontrolę nad wydajnym użyciem procesora GPU i procesora CPU. |
| zarządzanie stanem potoku grafiki w Direct3D 12 | W tym temacie opisano sposób ustawiania stanu potoku grafiki w trybie Direct3D 12. |
| Używanie barier zasobów do synchronizowania stanów zasobów w Direct3D 12 | Aby zmniejszyć ogólne użycie procesora CPU i włączyć wielowątkowy sterownik i przetwarzanie wstępne, Direct3D 12 przenosi odpowiedzialność za zarządzanie stanem poszczególnych zasobów ze sterownika graficznego do aplikacji. |
| potoki i cieniowania z Direct3D 12 | Programowalny potok Direct3D 12 znacznie zwiększa wydajność renderowania w porównaniu z interfejsami programowania grafiki poprzedniej generacji. |
| cieniowanie zmiennej szybkości (VRS) | Cieniowanie o zmiennej szybkości — lub grubsze cieniowanie pikseli — to mechanizm, który umożliwia przydzielanie wydajności/zasilania renderowania w zależności od renderowanego obrazu. |
| Renderowanie przekazuje | Funkcja renderowania przechodzi pomaga renderatorowi zwiększyć wydajność procesora GPU, zmniejszając ruch pamięci do/z pamięci poza mikroukładem; Dzięki temu aplikacja może lepiej zidentyfikować wymagania dotyczące porządkowania zasobów i zależności danych. |
Tematy pokrewne
- przewodnik programowania Direct3D 12