如題,現在已多載ListControl控制元件的DrawItem訊息并在其上面繪制某些圖形,采用的是GDI描點繪制的模式,設定了Listcontrol本身自帶的一個雙緩沖繪制方式。SetExtendedStyle(LVS_EX_DOUBLEBUFFER ); 但當圖形比較復雜時,繪圖會占有過多記憶體導致界面卡頓的問題,求問如何解決這種問題?
uj5u.com熱心網友回復:
不建議使用GDI的描點模式, 它的尋址就占了很多時間, 可以在記憶體中將按位圖資料填充好, 再顯示, 參考CDib類每次都要繪制不一樣的內容么? 如果不是,繪到記憶體位圖上就好了, 繪制一次,多次貼圖使用
uj5u.com熱心網友回復:
對,因為每一項要繪制的圖形都是不一樣的,如果是在DrawItem中利用雙緩沖記憶體位圖繪制方式與DrawItem訊息有沖突?好像是不能顯示出來的。CDib類?能否給出一個應用實體,以前沒有了解過這個?
uj5u.com熱心網友回復:
看看是否有記憶體泄漏的現象,記憶體泄漏會導致畫圖越來越卡頓uj5u.com熱心網友回復:
記憶體泄漏肯定是沒有的。
uj5u.com熱心網友回復:
http://www.codeforge.com/read/5765/cdib.h__htmlhttp://www.codeforge.com/read/5765/cdib.cpp__html
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/35208.html
標籤:界面
