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, wenn Sie eine Ressource als Streamingressource erstellen können, werden in den Parametern für die Erstellung von Streamingressourcen beschrieben.
Beim Erstellen der Ressource, z. B. die Zuordnung für ein Array mit 2D-Texturen, wird der Speicher einer Nicht-Streaming-Ressource im Grafiksystem zugewiesen.
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 nur einen Adressraum für den Bereich der nebeneinander angeordneten Oberfläche und ermöglicht dann die Zuordnung der Kacheln, die von der Anwendung gesteuert werden. 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 der Zuordnung einer Direct3D-Ressource für den CPU-Zugriff, was 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 Menge des verfügbaren Arbeitsspeichers effektiv genutzt wird.
In diesem Abschnitt
Thema | Beschreibung |
---|---|
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 Zuordnungen hinter den Kulissen – nicht durch die Anwendung). |
|
Es gibt einige Einschränkungen für den Typ von Direct3D-Ressourcen, die Sie als Streamingressource erstellen können. |
|
Verwenden Sie die Parameter in diesem Abschnitt, um Kachelpools beim Erstellen eines Puffers zu definieren. |
|
Kachelpools können mit anderen Prozessen wie herkömmliche Ressourcen gemeinsam genutzt werden. Streamingressourcen, die auf Kachelpools verweisen, können nicht geräte- und prozessübergreifend freigegeben werden. |
|
In diesem Abschnitt werden Vorgänge aufgelistet, die Sie für Streamingressourcen ausführen können. |
|
Vorgänge in Kachelpools umfassen das Ändern der Größe eines Kachelpools, das Bereitstellen von Ressourcen (vorübergehendes Bereitstellen von Arbeitsspeicher für das System für den gesamten Kachelpool) und das Freigeben von Ressourcen. |
|
Wie der Bereich einer Streamingressource nebeneinander angeordnet wird |
Wenn Sie eine Streamingressource erstellen, bestimmen die Dimensionen, die Formatelementgröße und die Anzahl der Mipmaps und/oder Arraysegmente (falls zutreffend) die Anzahl der Kacheln, die zum Sichern des gesamten Oberflächenbereichs erforderlich sind. |
Verwandte Themen