我正在寫一個控件,其中有很多自定義繪圖正在進行。正因爲如此,我需要削減「屏幕寫入」的數量。目前只有一個內存DC用於寫入屏幕,以避免重繪控件時出現閃爍。我想知道是否有可能使用2個或更多內存DC獨立寫入更新,然後將它們分配給屏幕。這樣就可以最小化渲染屏幕未更改部分的需求。結合2個內存DC?
0
A
回答
0
您可以使用多個單獨的DC,但都寫入相同的位圖。在這種情況下,你會得到一個「最後寫贏」策略 - 即最後一次寫入位圖中的任何給定點將成爲最終圖片中顯示的那個點。
這不會在減少繪圖到屏幕的方式上獲得太多(如果有的話)。 OTOH,一個BitBlt
通常足夠快,它不太可能有很大的區別。
0
您可以根據需要製作任意數量的DC,將屏幕的一部分準備在一個BitBlt()中,將其內容放入另一個DC中,然後將BitBlt()寫入屏幕或其他任何複雜的你想要(在明顯的句柄等nr的Windows範圍內)。
我同意上面的評論,但它不可能給你任何速度上的收益。我在哪裏使用它有時是當複雜的區域:需要更新的區域時,這樣做可以節省大量的位置計算。
相關問題
- 1. 結合2個bookmaklets
- 2. 結合2個表
- 3. MYSQL結合2個表
- 4. 結合2個腳本
- 5. 結合2個PHP函數
- 6. RxJava - 結合2個呼叫
- 7. 結合2個CSV文件
- 8. 結合2個字符串
- 9. 結合2個LINQ操作
- 10. SQL結合2個表
- 11. 結合2個左連接
- 12. Rxjs結合2個觀測,角2
- 13. 結合ndb.Tasklets與內存緩存讀取
- 14. 結合了2個IQueryable結果
- 15. 結合2流
- 16. 結合2個MySQL查詢到一個
- 17. 結合2個查詢一個
- 18. 結合2列從2個表合併到一列
- 19. 結合2功能
- 20. SQL Server存儲過程合併2個OpenQuery的輸出結果
- 21. 在SQL中組合2個結果集?
- 22. PHP結合了2個像表陣列
- 23. 2個鍵排序,並結合雙方
- 24. SQL合併2結果在一個
- 25. 結合2個陣列爲1
- 26. 在Python中結合2個列表
- 27. 結合2個陣列不同長度
- 28. 結合2個正則表達式
- 29. 需要結合2個mysql查詢
- 30. 的Sql結合2行至一個