Share via


Erstellen von Streamingressourcen

Streamingressourcen werden erstellt, indem Beim Erstellen einer Ressource ein Flag angegeben wird, das angibt, dass es sich bei der Ressource um eine Streamingressource handelt.

Einschränkungen, wann Sie eine Ressource als Streamingressource erstellen können, werden unter Parameter zur Erstellung von Streamingressourcen beschrieben.

Der Speicher einer Nicht-Streamingressource wird im Grafiksystem zugeordnet, wenn die Ressource erstellt wird, z. B. die Zuordnung für ein Array von 2D-Texturen.

Wenn eine Streamingressource erstellt wird, weist das Grafiksystem den Speicher für den Ressourceninhalt nicht zu. Wenn eine Anwendung stattdessen eine Streamingressource erstellt, nimmt das Grafiksystem eine Adressraumreservierung nur für den Bereich der gekachelten Oberfläche vor und lässt dann die Zuordnung der Kacheln von der Anwendung steuern. Die "Zuordnung" einer Kachel ist einfach der physische Speicherort im Arbeitsspeicher, auf den eine logische Kachel in einer Ressource verweist (oder NULL für eine nicht zugeordnete Kachel).

Verwechseln Sie dieses Konzept nicht mit dem Konzept, eine Direct3D-Ressource für den CPU-Zugriff zuzuordnen, die trotz der Verwendung desselben Namens völlig unabhängig ist. Sie können die Zuordnung jeder Kachel nach Bedarf einzeln definieren und ändern, wobei Sie wissen, dass alle Kacheln für eine Oberfläche nicht gleichzeitig zugeordnet werden müssen, wodurch die verfügbare Speichermenge effektiv genutzt wird.

In diesem Abschnitt

Thema BESCHREIBUNG

Zuordnungen in einen Kachelpool

Wenn eine Ressource als Streamingressource erstellt wird, stammen die Kacheln, aus denen die Ressource besteht, von, die auf Standorte in einem Kachelpool zeigen. Ein Kachelpool ist ein Speicherpool (unterstützt durch eine oder mehrere Zuordnungen im Hintergrund , die von der Anwendung nicht angezeigt werden).

Parameter für das Erstellen von Streamingressourcen

Es gibt einige Einschränkungen für den Typ von Direct3D-Ressourcen, die Sie als Streamingressource erstellen können.

Parameter zum Erstellen des Kachelpools

Verwenden Sie die Parameter in diesem Abschnitt, um Kachelpools beim Erstellen eines Puffers zu definieren.

Geräte- und prozessübergreifende Streamingressourcen

Kachelpools können genauso wie herkömmliche Ressourcen für andere Prozesse freigegeben werden. Streamingressourcen, die auf Kachelpools verweisen, können nicht geräte- und prozessübergreifend freigegeben werden.

Vorgänge für Streamingressourcen

In diesem Abschnitt werden Vorgänge aufgelistet, die Sie für Streamingressourcen ausführen können.

Vorgänge für Kachelpools

Vorgänge für Kachelpools umfassen das Ändern der Größe eines Kachelpools, das Bereitstellen von Ressourcen (vorübergehende Zuweisung von Arbeitsspeicher an das System für den gesamten Kachelpool) und die Rückgewinnung von Ressourcen.

So unterteilen Sie den Bereich einer Streamingressource

Wenn Sie eine Streamingressource erstellen, bestimmen die Dimensionen, die Formatelementgröße und die Anzahl der Mipmaps und/oder Array-Slices (falls zutreffend) die Anzahl der Kacheln, die zum Sichern der gesamten Oberfläche erforderlich sind.

 

Streamingressourcen