2011-09-03 77 views
1

有沒有一種方法可以將渲染目標設置爲SlimDX中的GDI位圖,以便在渲染場景後立即將BitBlt呈現出來,以供處理另一個線程並繼續渲染?如何將SlimDX場景直接渲染到GDI位圖

是否需要渲染到紋理,然後將內容複製到位圖?我希望能夠在沒有任何不必要的複製的情況下做到這一點。我將需要每一次加速,我可以得到。

回答

3

對不起,您需要渲染RenderTarget然後將該資源複製到Texture2D中,然後您可以映射數據並將像素映射到您的位圖中。

爲RenderTargets的內存被標記爲一種特殊的圖形卡使用,不能直接

的紋理內存可以被標記,以便它可以被讀取,但只能通過API,因爲它讀取仍持有顯卡上(有一些例外,但DirectX的與最小公分母去)如果你需要額外的速度重複使用相同的位圖或有準備的位圖的準備,以填補,並讓他們在旋轉陣列

和以往一樣,使用分析器測量這些事情消耗了多少時間,以便可以量化瓶頸。