IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Быстрое рисование графиков в TChart, Возможно ли?
Neon6868
сообщение 25.01.2011 1:20
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


Проблема в следующем:

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

Также пробовал использовать канву, график вроде как успевает рисоваться. Но возникает проблема с прокруткой изображения. Я помещал PaintBox на ScrollBox. Если изменять свойство Position у ScrollBox'a при выводе каждой точки, то график опять начинает рисоваться очень медленно.

Подскажите возможно ли мне использовать TChart? Если все же придется использовать канву, то как сделать автоматическую прокрутку изображения при рисовании графика?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
TarasB
сообщение 25.01.2011 10:52
Сообщение #2


Гость






Рисуй линиями на канве.
А ещё быстрее будет заранее взять DC := Canvas.Handle и использовать фукнции над этим DC (Windows.MoveToEx, Windows.LineTo), потому что канва, как и весь VCL - это страшный пахлава-код.
И делай сдвиг не при каждом новом поступлении данных, а только каждую секунду, например. Потому что копирование изображения - это операция дорогая, и тут уже дело в скорости памяти.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 11.08.2025 2:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"