Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per le risorse non affiancate, Direct3D può impedire determinate condizioni di pericolo durante il rendering, ma poiché il rilevamento dei rischi sarebbe a livello di riquadro per le risorse affiancate, il rilevamento delle condizioni di pericolo durante il rendering delle risorse affiancate potrebbe essere troppo costoso.
Ad esempio, per le risorse non affiancate, il runtime non consente l'associazione di SubResource come input (ad esempio ShaderResourceView) e come output (ad esempio RenderTargetView) contemporaneamente. Se si verifica 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 del tracciamento è ridurre al minimo le probabilità che le applicazioni dipendano accidentalmente dall'ordine di esecuzione degli shader hardware. L'ordine di esecuzione dello shader hardware può variare se non in una determinata unità di elaborazione grafica (GPU), quindi certamente in gpu diverse.
Tenere traccia di come le risorse sono vincolate potrebbe essere troppo costoso per le risorse a griglia perché il monitoraggio avviene a livello di tile. Si presentano nuovi problemi, come la possibilità di invalidare i tentativi di rendering in un oggetto RenderTargetView con un riquadro mappato contemporaneamente a più aree della superficie. Se si scopre che questo monitoraggio dei rischi per tassello è troppo costoso per il tempo di esecuzione, idealmente questa sarebbe almeno un'opzione nel livello di debug.
Un'applicazione deve informare il driver di visualizzazione quando esegue un'operazione di lettura o scrittura su una risorsa a piastrelle che fa riferimento alla memoria del pool di piastrelle. Questo perché la stessa memoria sarà utilizzata da altre risorse a piastrelle in operazioni di lettura o scrittura successive. È importante che la prima operazione sia completata prima che possano iniziare le operazioni successive. Per ulteriori informazioni su questa condizione, consulta ID3D11DeviceContext2::TiledResourceBarrier osservazioni.
Argomenti correlati