2015-12-02 2 views
1

В настоящее время у нас есть приложение, которое отображает множество данных в нескольких диаграммах с высокой скоростью обновления (~ 100 мс). Чтобы нарисовать диаграммы, мы используем библиотеку (Nevron).Есть ли UserControl, измененный другим потоком, который является основным потоком?

В настоящее время диаграммы создаются в основном потоке, и мы делаем Invoke на ChartControl для каждого нашего действия.

Проблема в том, что теперь основной поток работает как максимум, поскольку он должен нарисовать множество графиков различий.

Мой вопрос: есть ли способ сделать рисунок каждого графика в отдельном потоке?

Возможно ли создать пользовательские элементы управления в разных потоках и разместить их в тех же окнах (которые принадлежат другому родителю)?

+0

Вы можете быть в состоянии использовать фон рабочего и события Отчет о проделанной работе для обновления карт. – Lidaranis

+0

@Lidaranis У меня уже есть работник фона, который дает новые данные на диаграмме, но трудоемкая операция - это нарисовать диаграмму. – J4N

+0

Ну, все зависит от того, что может сделать ваша библиотека, не так ли? Если они позволяют визуализировать некоторую обратную поверхность, вы можете легко визуализировать несколько потоков. Если они разрешают рендеринг для пользовательского элемента управления, у вас проблемы. * Возможно * иметь несколько потоков пользовательского интерфейса, но это довольно сложно (особенно если вы хотите получить результат в одном окне :). – Luaan

ответ

0

Вы можете нарисовать кадры в разных потоках для различных растровых изображений, а в главном потоке просто сделать эти растровые изображения

+0

и конкретно, если у меня есть sub UserControl, как мне это сделать? – J4N

Смежные вопросы