我使用桌面複製到屏幕上的內容複製到內存中的位圖。我收到桌面質地,然後創建一個臨時的質感,使用CopyResource
到桌面的紋理複製到臨時紋理,最後調用ID3D11DeviceContext::Map
訪問分期質地位,並複製它們。幾乎如這裏所描述的一樣:https://stackoverflow.com/a/27283837/825318ID3D11DeviceContext ::地圖性能下降
的問題是,Map
通話需要花費大量的時間 - 用於大型顯示器的分辨率,如4K它可能需要長達100ms的每次通話,這是不可接受的,因爲我需要確保30 fps的速度。
有沒有什麼辦法讓紋理的內容更快?如果沒有,有沒有辦法提供我自己的映射地址指針,以便系統在那裏複製紋理數據?由於
[ID3D11DeviceContext :: Map](https://msdn.microsoft.com/en-us/library/windows/desktop/ff476457(v = vs.85).aspx)文檔討論性能損失,並建議適當的策略和頁面的結尾。其中之一是使用易失性指針。 – 2016-11-25 16:12:22
謝謝,但是這隻適用於只寫表面,而我的任務是從表面讀取數據。 – Isso