0
大量の線をレンダリングする必要があります。 CPUには4つのコアがあるため、パフォーマンスを向上させるために、それらを部分的に別のスレッドのビットマップにレンダリングすることにしました。このようにパフォーマンスを改善することはできますか?それを行う最善の方法は何ですか?GDIを使用したC#winformsでの非同期レンダリング
大量の線をレンダリングする必要があります。 CPUには4つのコアがあるため、パフォーマンスを向上させるために、それらを部分的に別のスレッドのビットマップにレンダリングすることにしました。このようにパフォーマンスを改善することはできますか?それを行う最善の方法は何ですか?GDIを使用したC#winformsでの非同期レンダリング
グラフィックスに問題が見つかりました。私が設定した場合:
g.SmoothingMode = SmoothingMode.HighQuality;
唯一つのコアは、すべてのスレッドのために使用されているが、私は設定した場合:
g.SmoothingMode = SmoothingMode.HighSpeed;
それが正常に動作します。
何行ですか? –
約10,000行。 – PSsam
はい、GDI +は部分的に*スレッドセーフです。ビットマップに関連付けられたロックがあります。同じビットマップに2つのスレッドを描画することはできません。しかし、彼らは別のビットマップで動作させることは大丈夫です。あなたが間違っていると大声で叫ぶでしょう。 –