Добрый день всем.
Помогите, пожалуйста, ускорить отрисовку.
Есть массив GraphicPath. В цикле обсчитываются массивы точек и добавляются в эти пути. Потом надо вычесть из текущего пути предыдущий и залить. Но проблема в том, что в некоторых случаях габариты этих путей очень большие (десятки тысяч точек) и заливаются долго. Покумекав, загоняю этот путь в Region и обрезаю по краям PictureBox'а, в который вывожу. Но это тоже оказалось медленно, может потому, что обрезаю именно Region, а не Path.
for (int i; i < n; i++)
{
Region ri = new Region(path[i]);
ri.Intersect(new RectangleF(0, 0, maxx, maxy));
for (int f = 0; f < i; f++)
ri.Exclude(path[f]);
if (!ri.GetBounds(g).IsEmpty)
{
g.FillRegion(MySolidBrush[9 - i], ri);
}
}
В настоящий момент времени делаю обрезание в ручную на этапе обсчета массива точек. Но получается все равно не иделально и хотелось бы все таки стандартными средствами.