的msdn documentation DirectX 11的紋理,利弊解釋說,在DirectX 11有多種方法來填充編程支持DirectX 11質地:編程方式創建的三種不同的方法
(1)創建一個默認的使用質感紋理並使用內存中的數據初始化它
(2)使用動態使用創建紋理,使用DeviceContext Map獲取指向紋理內存的指針,寫入紋理內存,然後使用Unmap指示完成(在這一點上,我猜測它被複制到GPU)
(3)創建與停滯的紋理g的用法,並遵循與動態紋理相同的步驟,但通過調用ID3D11DeviceContext.CopyResource來使用此分段紋理,從而填充(不可變)的默認或動態紋理。
但是這些文檔並沒有解釋每種方法的優缺點,而且我對directx還是比較陌生的,所以對我來說一點都不清楚。
在directx 11中以編程方式創建紋理的每種方法的優缺點是什麼?
附註:我已閱讀,在舉辦紋理的背景下,閱讀從GPU背面沒有緩衝,所以你必須做你自己的雙緩衝。但我不知道這是否準確,以及它是否適用於使用分段紋理進行書寫(甚至實際上是什麼意思)。
第二方面說明: Map方法文檔說它獲取指向子資源中數據的指針,並拒絕GPU訪問該子資源。當GPU想要訪問基礎數據已被Map調用的紋理時,它會做什麼?失速? (我問,因爲這聽起來像我詢問的利弊的一部分)
添加筆記,因爲我學習。顯然你不能用上面的方法(1)編程式地創建多重採樣的默認紋理。 – 2011-06-14 21:10:00
儘管D3D11_MAP_FLAG非常模糊,但它在調用DirectX 11中的映射時顯然會告訴GPU如果需要映射的資源該怎麼做。目前只記錄一個標誌,並且不清楚是否使用0表示停頓。 – 2011-06-14 22:03:29
顯然,D3D11_USAGE_DYNAMIC資源必須具有等於1的miplevels。 – 2011-06-14 22:10:11