Verifica dei rischi e risorse pool di riquadri
Per le risorse non riquadri, Direct3D può impedire determinate condizioni di rischio durante il rendering, ma poiché il rilevamento dei rischi sarebbe a livello di riquadro per le risorse riquadri, il rilevamento delle condizioni di rischio durante il rendering delle risorse riquadri potrebbe essere troppo costoso.
Ad esempio, per le risorse non riquadri, il runtime non consente l'associazione di SubResource specificato come input (ad esempio shaderResourceView) e come output (ad esempio un RenderingTargetView) contemporaneamente. Se viene rilevato un caso di questo tipo, il runtime annulla l'associazione dell'input. Questo sovraccarico di rilevamento nel runtime è economico e viene eseguito a livello di SubResource. Uno dei vantaggi di questo sovraccarico di rilevamento è ridurre al minimo le probabilità di applicazioni accidentalmente a seconda dell'ordine di esecuzione dell'hardware shader. L'ordine di esecuzione dello shader hardware può variare se non in una determinata unità di elaborazione grafica (GPU), certamente tra GPU diverse.
Tenere traccia del modo in cui le risorse sono associate potrebbero essere troppo costose per le risorse riquadri perché il rilevamento è a livello di riquadro. Si verificano nuovi problemi, ad esempio la convalida dei tentativi di rendering in un RenderingTargetView con un riquadro mappato a più aree nella superficie contemporaneamente. Se si verifica questo rilevamento dei rischi per riquadro è troppo costoso per il runtime, idealmente questo sarebbe almeno un'opzione nel livello di debug.
Un'applicazione deve informare il driver di visualizzazione quando ha rilasciato un'operazione di scrittura o lettura a una risorsa riquadri che fa riferimento alla memoria del pool di riquadri che verrà fatto riferimento anche a risorse riquadri separate nelle operazioni di lettura o scrittura imminenti che prevede il completamento della prima operazione prima che le operazioni seguenti possano iniziare. Per altre informazioni su questa condizione, vedere OSSERVAZIONI ID3D11DeviceContext2::TiledResourceBarrier .
Argomenti correlati