Erstellen von StreamingressourcenCreating streaming resources

Streamingressourcen werden erstellt, indem Sie beim Erstellen einer Ressource laut Kennzeichen angeben, dass die Ressource eine Streamingressource ist.Streaming resources are created by specifying a flag when you create a resource, indicating that the resource is a streaming resource.

Einschränkungen für das Erstellen einer Ressource als Streamingressource werden unter Parameter für das Erstellen von Streamingressourcen beschrieben.Restrictions on when you can create a resource as a streaming resource are described in Streaming resource creation parameters.

Beim Erstellen der Ressource wird dem Grafiksystem ein Nicht-Streamingressourcenspeicher zugewiesen, z. B. bei der Zuordnung für ein Array von 2D-Texturen.A non-streaming resource's storage is allocated in the graphics system when the resource is created, such as allocation for an array of 2D textures.

Wenn eine Streamingressource erstellt wird, weist das Grafiksystem dem Inhalt der Ressource keinen Speicher hinzu.When a streaming resource is created, the graphics system doesn't allocate the storage for the resource contents. Wenn eine Anwendung eine Streamingressource erstellt, reserviert das Grafiksystem stattdessen einen Adressbereich nur für die nebeneinander angeordnete Oberfläche und ermöglicht dann der Anwendung, die Zuordnung der Kacheln zu steuern.Instead, when an application creates a streaming resource, the graphics system makes an address space reservation for the tiled surface's area only, and then allows the mapping of the tiles to be controlled by the application. Die „Zuordnung” einer Kachel ist der physische Standort im Arbeitsspeicher, auf den die logische Kachel in einer Ressource verweist (oder NULL für eine nicht zugeordnete Kachel).The "mapping" of a tile is simply the physical location in memory that a logical tile in a resource points to (or NULL for an unmapped tile).

Verwechseln Sie dieses Konzept nicht mit der Zuordnung einer Direct3D-Ressource für den CPU-Zugriff - trotz des gleichen Namens sind diese komplett unabhängig voneinander.Don't confuse this concept with the notion of mapping a Direct3D resource for CPU access, which despite using the same name is completely independent. Sie können die Zuordnung jeder einzelnen Kachel nach Bedarf definieren und ändern. Nicht alle Kacheln für eine Oberfläche müssen zu einem bestimmten Zeitpunkt zugeordnet werden, wodurch die Größe des verfügbaren Arbeitsspeichers effektiv verwaltet wird.You will be able to define and change the mapping of each tile individually as needed, knowing that all tiles for a surface don't need to be mapped at a time, thereby making effective use of the amount of memory available.

In diesem AbschnittIn this section

ThemaTopic BeschreibungDescription

Zuordnungen sind in einem Pool für die Kachel "Mappings are into a tile pool

Beim Erstellen einer Ressource als Streaming-Ressource stammen die Kacheln, die die Ressource bilden, aus Speicherorten in einem Kachelpool.When a resource is created as a streaming resource, the tiles that make up the resource come from pointing at locations in a tile pool. Ein Kachelpool ist ein Speicherpool (gesichert durch eine oder mehrere Zuordnungen im Hintergrund – nicht sichtbar für die Anwendung).A tile pool is a pool of memory (backed by one or more allocations behind the scenes - unseen by the application).

Stream-Parameter für die RessourceStreaming resource creation parameters

Es gibt einige Einschränkungen für den Direct3D-Ressourcentyp, den Sie als Streamingressource erstellen können.There are some constraints on the type of Direct3D resources that you can create as a streaming resource.

Kachel "-Parameter zum Erstellen von PoolsTile pool creation parameters

Verwenden Sie die Parameter in diesem Abschnitt, um beim Erstellen eines Puffers den Kachelpool zu definieren.Use the parameters in this section to define tile pools when creating a buffer.

Streamen von Ressource Prozess- und gemeinsame Nutzung von GerätenStreaming resource cross-process and device sharing

Kachelpools können von anderen Prozessen wie herkömmliche Ressourcen freigegeben werden.Tile pools can be shared with other processes just like traditional resources. Streamingressourcen, die auf Kachelpools verweisen, können nicht auf allen Geräten und Prozessen freigegeben werden.Streaming resources that reference tile pools can't be shared across devices and processes.

Vorgänge, die für das streaming von Ressourcen verfügbar sindOperations available on streaming resources

Dieser Abschnitt enthält Vorgänge, die Sie auf Streaming-Ressourcen ausführen können.This section lists operations that you can perform on streaming resources.

Vorgänge, die auf die Kachel "-Pools verfügbar sindOperations available on tile pools

Vorgänge für Kachelpools umfassen das Ändern der Größe eines Kachelpools, das Anbieten von Ressourcen (Gewinnen von vorübergehendem Speicherplatz für das System für den gesamten Kachelpool) und das Zurückfordern von Ressourcen.Operations on tile pools include resizing a tile pool, offering resources (yielding memory temporarily to the system for the entire tile pool), and reclaiming resources.

Wie ein streaming Ressourcenbereich gekachelt wirdHow a streaming resource's area is tiled

Wenn Sie eine Streamingressource erstellen, bestimmen Dimensionen, Größe des Formats und Anzahl der Mipmaps und/oder Array-Segmente (falls zutreffend) die Anzahl der erforderlichen Kacheln, um die gesamte Oberfläche zu sichern.When you create a streaming resource, the dimensions, format element size, and number of mipmaps and/or array slices (if applicable) determine the number of tiles that are required to back the entire surface area.

 

Verwandte ThemenRelated topics

StreamingressourcenStreaming resources