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 |
---|---|
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). |
|
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 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. |
|
In diesem Abschnitt werden Vorgänge aufgelistet, die Sie für Streamingressourcen ausführen können. |
|
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. |
|
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. |
Verwandte Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für