線の描画を高速化したい。並列 for ループが機能しないのはなぜですか? 何も描画しません。
また、それを高速化する他のアイデアも受け入れています。
増分 for ループのコードを編集しました。描画中に「タイプ 'System.AccessViolationException' の初回例外が SharpDX.Direct2D1.dll で発生しました」と表示されますが? livePoints は単純なリストです。
いくつかのコード:
private RenderTarget m_d2dRenderTarget;
...
m_d2dRenderTarget.BeginDraw();
//Drawing lines using the loop
m_d2dRenderTarget.EndDraw();
ループの標準:
for (int i = livePoints.Count - 1; i > 0; i--)
{
m_d2dRenderTarget.DrawLine(livePoints[i - 1],
livePoints[i], solidColorBrush, (float)1.5);
}
並列 for ループ:
Parallel.For(1, livePoints.Count-1, i =>
{
m_d2dRenderTarget.DrawLine(livePoints[i - 1],
livePoints[i], solidColorBrush, (float)1.5);
});