Большая загрузка ЦП при прокрутке Image в ScrollView
Решаю задачу отображения графиков. Отрисовку элементов для графика произвожу при помощи класса Visual. При отображении большого количества элементов Line ухудшается плавность прокрутки ScrollViewer (растет нагрузка на ЦП). Код следующий:
<ScrollViewer>
<StackPanel>
<Image Name="image1"/>
<Image Name="image2"/>
...
</StackPanel>
</ScrollViewer>
Код отрисовки графика:
var drawingVisual = new DrawingVisual();
using (DrawingContext dc = drawingVisual.RenderOpen())
{
dc.DrawLine();
...
}
image1.Source = new DrawingImage(drawingVisual.Drawing)
Код отрисовки повторяю для каждого imageX (image2 и т.д.).
Класс Visual представляется как средство для приложений с интенсивной графикой, которым приходится отображать громадное число графических элементов. В своей задаче отображаю 10 графиков из 3000 линий каждый (в видимой области ScrollView отображено около 100 линий на график). Возможно я некорректно использую DrawingVisual, или же подход к решению задачи изначально неверен?
