2012-02-15 11 views
0

大量の線をレンダリングする必要があります。 CPUには4つのコアがあるため、パフォーマンスを向上させるために、それらを部分的に別のスレッドのビットマップにレンダリングすることにしました。このようにパフォーマンスを改善することはできますか?それを行う最善の方法は何ですか?GDIを使用したC#winformsでの非同期レンダリング

+0

何行ですか? –

+0

約10,000行。 – PSsam

+0

はい、GDI +は部分的に*スレッドセーフです。ビットマップに関連付けられたロックがあります。同じビットマップに2つのスレッドを描画することはできません。しかし、彼らは別のビットマップで動作させることは大丈夫です。あなたが間違っていると大声で叫ぶでしょう。 –

答えて

0

グラフィックスに問題が見つかりました。私が設定した場合:

g.SmoothingMode = SmoothingMode.HighQuality; 

唯一つのコアは、すべてのスレッドのために使用されているが、私は設定した場合:

g.SmoothingMode = SmoothingMode.HighSpeed; 

それが正常に動作します。

関連する問題