Большая загрузка ЦП при прокрутке 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, или же подход к решению задачи изначально неверен?

Скрин приложения: Графики ScrollViewer


Ответы (0 шт):