Creazione di risorse di streaming
Le risorse di streaming vengono create specificando un flag quando si crea una risorsa, a indicare che si tratta di una risorsa di streaming.
Le restrizioni relative ai casi in cui è possibile creare una risorsa di streaming come tale sono descritte in Parametri di creazione delle risorse di streaming.
L'archiviazione di una risorsa non di streaming viene allocata nel sistema grafico quando viene creata la risorsa, ad esempio l'allocazione per una matrice di texture 2D.
Quando viene creata una risorsa di streaming, il sistema grafico non alloca lo spazio di archiviazione per il contenuto della risorsa. Quando invece un'applicazione crea una risorsa di streaming, il sistema grafico effettua una prenotazione dello spazio indirizzi solo per l'area della superficie affiancata e quindi consente il mapping dei riquadri da controllare dall'applicazione. Il "mapping" di un riquadro è semplicemente la posizione fisica in memoria a cui punta un riquadro logico in una risorsa (o NULL per un riquadro non mappato).
Non confondere questo concetto con la nozione di mapping di una risorsa Direct3D per l'accesso alla CPU, che nonostante l'uso dello stesso nome sia completamente indipendente. Sarà possibile definire e modificare il mapping di ogni riquadro singolarmente in base alle esigenze, sapendo che non è necessario eseguire il mapping di tutti i riquadri per una superficie alla volta, rendendo in tal modo efficace l'uso della quantità di memoria disponibile.
In questa sezione
Argomento | Descrizione |
---|---|
Quando una risorsa viene creata come risorsa streaming, i riquadri che la costituiscono provengono da posizioni in un pool di riquadri. Un pool di riquadri è un pool di memoria (supportato da una o più allocazioni dietro le quinte, senza visualizzare l'applicazione). |
|
Esistono alcuni vincoli sul tipo di risorse Direct3D che è possibile creare come risorse di streaming. |
|
Usare i parametri in questa sezione per definire i pool di riquadri durante la creazione di un buffer. |
|
Condivisione di risorse streaming tra processi e dispositivi |
I pool di riquadri possono essere condivisi con altri processi esattamente come le risorse tradizionali. Le risorse di streaming che fanno riferimento ai pool di riquadri non possono essere condivise tra dispositivi e processi. |
Questa sezione elenca le operazioni che è possibile eseguire sulle risorse di streaming. |
|
Le operazioni sui pool di riquadri includono il ridimensionamento di un pool di riquadri, l'offerta di risorse (che restituisce temporaneamente memoria al sistema per l'intero pool di riquadri) e il recupero delle risorse. |
|
Come allocare in modo dinamico l'area di una risorsa di streaming |
Quando si crea una risorsa di streaming, le dimensioni, le misure dell'elemento di formato e il numero di mipmap e/o sezioni di matrice (se applicabile) determinano il numero di riquadri necessari per ripristinare l'intera superficie. |
Argomenti correlati