[問題] 用 GraphicsPath 效能很差,求解決

看板C_Sharp (C#)作者 (Reinace)時間7年前 (2018/01/12 19:36), 編輯推噓2(208)
留言10則, 4人參與, 7年前最新討論串1/1
假如我同時用GraphicsPath 畫很大量的物件 (有角度的Rectangle等等) 之後想去對物件做移動或者移到物件上發光..等等的編輯 (Paint事件一直刷新大量的 物件) 效能就會很卡...請問有辦法解決嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.109.187 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1515756996.A.8D0.html

01/12 20:05, 7年前 , 1F
先把物件畫好,存在記憶體裡,更新時直接畫出來,減少即時
01/12 20:05, 1F

01/12 20:05, 7年前 , 2F
繪圖的工
01/12 20:05, 2F

01/12 21:07, 7年前 , 3F
我是存在一條LIST裡面,每次都去重繪這整條LIST
01/12 21:07, 3F

01/12 21:07, 7年前 , 4F
請問怎麼存在記憶體呢?
01/12 21:07, 4F

01/12 22:06, 7年前 , 5F
不要全部重繪,只重繪被選中的物件
01/12 22:06, 5F

01/12 22:13, 7年前 , 6F
可是我要畫面保持全部物件都在
01/12 22:13, 6F

01/12 22:13, 7年前 , 7F
有方法可以不用重繪其他的可是它保持在螢幕上嗎?
01/12 22:13, 7F

01/12 22:20, 7年前 , 8F
用類似雙緩衝的做法把靜態物件畫在一張圖上,動態物件
01/12 22:20, 8F

01/12 22:20, 7年前 , 9F
畫在另外一張圖上,最後這兩張圖再畫到控件上
01/12 22:20, 9F

01/13 01:36, 7年前 , 10F
放棄GDI 用DirectX
01/13 01:36, 10F
文章代碼(AID): #1QM9t4ZG (C_Sharp)
文章代碼(AID): #1QM9t4ZG (C_Sharp)