← Назад

Вывод элементов на график

Добрый день! Решил попробовать графики из новой версии API. Проведена хорошая работа над внешним видом! Молодцы! Однако столкнулся с проблемой перегрузки процессора при выводе индикаторов и других элементов. Причем если выводить только одни свечки проблема не наблюдается. После завершения построения элементов графика процессор остается загруженным примерно на 20%. Какой-то внутренний цикл или процесс видимо не завершается.

Комментарии (9)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov

Уже нашли на той неделе и будет фикс.

Bond
Bond
Bond Автор

Отлично поработали над оптимизацией графики в версии 26! Стало по шустрее! Однако есть проблема с очисткой областей.

Mikhail Sukhov
Mikhail Sukhov

Bond: Отлично поработали над оптимизацией графики в версии 26! Стало по шустрее! Однако есть проблема с очисткой областей.

Надо полный стек трейс.

Bond
Bond Автор

Михаил Сухов:

Bond: Отлично поработали над оптимизацией графики в версии 26! Стало по шустрее! Однако есть проблема с очисткой областей.

Надо полный стек трейс.

А больше ничего и нет. Это какая-то внутренняя ошибка библиотеки. Подробнее отследить не могу.

.Remove тоже не срабатывает по этой же причине.

Bond
Bond Автор
   в StockSharp.Xaml.Charting.SciChart.SciChartOverviewExtensions.TrySetOverviewSurface(SciChartOverview overview, ItemsControl itemsControl)
   в StockSharp.Xaml.Charting.SciChart.SciChartOverviewExtensions.<>c__DisplayClass2.<OnItemsControlPropertyChanged>b__1(Object s1, NotifyCollectionChangedEventArgs a1)
   в System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   в System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   в System.Collections.ObjectModel.Collection`1.Remove(T item)
   в StockSharp.Xaml.Charting.Chart.ChartAreaCollection.OnClearing()
   в Ecng.Collections.BaseCollection`2.Clear()
Mikhail Sukhov
Mikhail Sukhov

А как это воспроизвести? Просто очистка областей работает.

Bond
Bond Автор

Создать пару новых областей Areas. Вывести в них графики и после отрисовки попробовать все стереть.

merabn
merabn

В API 4.2.72 уже после вывода серии график все-таки занимает процессорное время, не смертельно, но 15-20% берет. Самое интересное начинается, если в системе для экрана установлено масштабирование (125,150 %). При некоторых размерах области графика изображение серии начинает дрожать и процессорное время уже потребляется в пределах 80-90%. Но размер области можно подобрать, так что изображение становиться нормальным и потребление падает до обычных 15-20%. Еще одна особенность, при работающем скрипте lua коннектора Quik, меню Quik "съезжает" за основную панель окна. Это также при установленном масштабировании экрана.

merabn
merabn

Пожалуйста, подскажите, есть ли возможность вывода графических объектов на график (линии и т.п.). В панели самого графика есть инструменты, позволяющие строить линии в интерактивном режиме. А есть возможность это делать через программный интерфейс?