2012-02-15 82 views
0

我需要呈現大量的行。 CPU有4個內核,爲了提高性能,我決定將它們部分渲染到不同線程的Bitmaps中。我能以這種方式提高績效嗎?什麼是最好的方式來做到這一點?使用GDI在C#winforms中進行異步呈現

+0

有多少行? – 2012-02-15 11:37:53

+0

約10 000行。 – PSsam 2012-02-15 11:45:34

+0

是的,GDI + *部分*線程安全。有一個與位圖關聯的鎖,你不能讓兩個線程繪製到同一個位圖。但讓他們在不同的位圖上工作是可以的。當你弄錯了它會大聲尖叫。 – 2012-02-15 14:01:56

回答

0

我發現圖形有問題。當我設置:

g.SmoothingMode = SmoothingMode.HighQuality; 

只有一個核心用於所有線程,但是當我設置:

g.SmoothingMode = SmoothingMode.HighSpeed; 

它工作正常。