Freigeben über


Erstellen von Streaming-Ressourcen

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 beim Erstellen einer Ressource als Streamingressource werden in Parameter zum Erstellen von Streamingressourcenbeschrieben.

Der Speicher einer Nicht-Streaming-Ressource wird im Grafiksystem beim Erstellen der Ressource zugewiesen, wie etwa bei der Zuordnung eines Arrays von 2D-Texturen.

Wenn eine Streamingressource erstellt wird, weist das Grafiksystem den Speicher für die Ressourceninhalte nicht zu. Wenn eine Anwendung eine Streamingressource erstellt, macht das Grafiksystem stattdessen eine Adressraumreservierung nur für den Bereich der gefliesten Oberfläche und ermöglicht dann, dass die Zuordnung der Kacheln von der Anwendung gesteuert wird. Die "Abbildung" eines Tiles ist einfach der physische Speicherort, auf den ein logisches Tile innerhalb einer Ressource verweist (oder NULL für ein nicht abgebildetes Tile).

Verwechseln Sie dieses Konzept nicht mit der Idee der Zuordnung einer Direct3D-Ressource für den CPU-Zugriff, die trotz gleichen 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 Menge des verfügbaren Arbeitsspeichers effektiv genutzt wird.

In diesem Abschnitt

Thema BESCHREIBUNG

Zuordnungen befinden sich in einem Kachelpool

Wenn eine Ressource als Streamingressource erstellt wird, stammen die Kacheln, aus denen die Ressource besteht, von Standorten in einem Kachelpool. Ein Kachelpool ist ein Speicherpool (unterstützt durch eine oder mehrere Speicherzuweisungen, die im Hintergrund geschehen – unsichtbar für die Anwendung).

Parameter für die Erstellung von Streaming-Ressourcen

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

Parameter für die Erstellung von Kachelpools

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

Prozessübergreifende Streaming-Ressourcen- und Gerätefreigabe

Kachelpools können genauso wie herkömmliche Ressourcen mit anderen Prozessen gemeinsam genutzt werden. Streaming-Ressourcen, die auf Kachelpools verweisen, können nicht geräte- und prozessübergreifend gemeinsam genutzt werden.

Operationen für Streamingressourcen

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

Vorgänge, die in Kachelpools verfügbar sind

Vorgänge in Kachelpools umfassen das Ändern der Größe eines Kachelpools, das temporäre Bereitstellen von Ressourcen (das System erhält vorübergehend Arbeitsspeicher für den gesamten Kachelpool) und die Zurückgewinnung von Ressourcen.

Wie der Bereich einer Streamingressource aufgeteilt ist

Wenn Sie eine Streamingressource erstellen, bestimmen die Dimensionen, die Formatelementgröße und die Anzahl der Mipmaps und/oder Arrayslices (falls zutreffend) die Anzahl der Kacheln, die erforderlich sind, um die gesamte Oberfläche zu stützen.

 

Streaming-Ressourcen