Arbeitsspeicherverwaltung in Direct3D 12
Der Wechsel zu D3D12 umfasst eine ordnungsgemäße Synchronisierung und Verwaltung der Speicherresidenz. Die Verwaltung der Speicherresidenz bedeutet, dass noch mehr Synchronisierungen durchgeführt werden müssen. In diesem Abschnitt werden Speicherverwaltungsstrategien und untergeordnete Zuordnungen innerhalb von Heaps und Puffern behandelt.
In diesem Abschnitt
Thema | BESCHREIBUNG |
---|---|
Strategien für die Arbeitsspeicherverwaltung |
Ein Speicher-Manager für Direct3D 12 kann mit allen verschiedenen Unterstützungsebenen für UMA- oder diskrete (Nicht-UMA)-Adapter und mit einer beträchtlichen Bandbreite von Architekturunterschieden zwischen GPU-Adaptern schnell sehr kompliziert werden. Die in diesem Abschnitt beschriebene empfohlene Strategie für die Direct3D 12-Speicherverwaltung ist "Klassifizieren, Budget und Stream". |
Unterzuweisung innerhalb von Puffern |
Puffer verfügen über alle Funktionen, die in D3D12 erforderlich sind, damit Anwendungen einen großen Bereich vorübergehender Daten von der CPU auf die GPU übertragen können. In diesem Abschnitt werden vier gängige Szenarien für die Verwendung und Verwaltung von Ressourcen und Puffern behandelt. |
Unterzuweisung innerhalb von Heaps |
Ressourcenheaps übertragen Daten von der CPU an die GPU (Upload) und von der GPU an die CPU (Zurücklesen). |
Residenz |
Ein Objekt wird als resident betrachtet, wenn es über die GPU zugänglich ist. |