2009-11-21 188 views
1

在我的應用程序中,我想使用Windows創建圖形方法繪製多邊形,然後通過允許用戶選擇多邊形的點並允許重新定位它們來編輯多邊形。C#更快的繪製矢量圖形

我使用moue move事件來獲取點的新位置,以獲取要移動的點的新座標,並使用Paint事件重新繪製多邊形。該應用程序正在工作,但當一個點被移動時,移動不平穩。這可能是由於在移動點時大量的鼠標移動和繪畫事件觸發。

我不知道天氣鼠標移動或繪畫事件的性能障礙。

任何人都可以提出一個建議,如何改善?

回答

0

看看c#中的雙緩衝。這可以大大加速事情。

+1

-1。雙緩衝提供沒有速度增加,只是防止閃爍。事實上,作爲繪製過程的額外開銷,更多的CPU週期用於繪製相同的東西(儘管沒有可怕的閃爍)。 – 2011-12-07 05:22:09

0

從我的Win32 expirience(不是.NET)開始,最快的矢量圖形是Metafile。我不知道C#System.Drawing.Imaging.Metafile是否與Win32一樣快。可能與視頻2D硬件一樣快。