Re: [問題] 捲軸捲動時圖形重繪如何加快
※ 引述《Arton0306 (沒有怎麼辦)》之銘言:
: 我現在有個panel
: 上面有很多圖形
: 幾乎都是fillEllipse(其實我只是要畫小圓點 但只找到這個來用)多到上千個
: 以及drawLine
: 這個panel比較大 有捲軸
: 每次拖拉捲軸的時候
: 因為又要重繪圖形
: 都會有點lag
: 不知這種情形有沒有較好的處理方法??
我找到double buffer的資料了
似乎是加上下面這一行即可
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
另外我也在C# express 2005中把該Form的DoubleBuffer屬性調成true了
不過還是沒有解決lag的問題
我想 我的問題似乎有點不一樣
msdn給的例子是圖形重繪的時候畫面會閃爍
而我的問題已經不只是閃爍了,是圖形畫得太慢(因為圖太多)
當我將捲軸往右移的時候 原本的圖形往左方,並且右邊留白處慢慢顯現出圖形
這裡的慢慢指的是眼睛可以看出圖形(大量的點)幾排幾排由下而上地跑出來
所以我在拉捲軸的時候就已經覺得很卡了,捲軸拉起來很不順
我看msdn對double buffer解釋是
先將圖形繪至記憶體中,等到畫完之後再一口氣秀出來,所以畫面變化很快
使得閃爍減少或消失。(應該是這樣吧??)
但我的圖形在運算的時候就有點慢了,這樣該怎麼辦呢?
另外一點,其實我的圖形每次也只顯示整個畫面可以看到的大小
可是每次重畫都要浪費時間去畫畫面以外的點(實在很浪費資源)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.138.142
※ 編輯: Arton0306 來自: 220.135.138.142 (08/30 21:32)
※ 編輯: Arton0306 來自: 220.135.138.142 (08/30 21:33)
推
08/31 06:23, , 1F
08/31 06:23, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章