Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Тестирование компонента для Delphi и C++Builder   Найти похожие ветки 

 
BreakPoint ©   (2006-09-19 23:13) [0]

Приглашаю всех желающих принять участие в тестировании компонента для вывода 2D графиков. Хотелось бы услышать Ваше мнение о удобстве компонента. Критика приветствуется.
Проект не коммерчесий и коммерческим не будет.

Предоставляет возможность работы с любым из 5 типов (Extended, Double, Single, Integer, SmallInt)
TPlotter работает в минимум 15 раз быстрее, чем TChart
Позволяет напрямую работать с массивами данных
Имеет Run-time и Design-time редактор компонента
Прост в использовании
Позволяет использовать пользовательскую разметку осей
Имеет открытый исходный код

Скачать можно здесь:
http://f5soft.com/downloads/download.php?id=f5packBDS_full

В поставку входят пакеты для Delphi 7,2006 и Builder 6,2006.


 
DimaBr   (2006-09-20 09:13) [1]

В принципе существенные приемущества перед TChart на первый взгляд не замечено.
1. Смешно выглядит при заброске на форму (размеры от TPanel)
2. Глянув в DFM - о ужас, default свойств нет.
3. Окно редактора при максимилизации выглядит странно.
4. Использование ТLabelEdit (в редакторе) приводит к EConvertError
5. На белом фоне кнопок выравнивания плохо видно какая нажата.


 
BreakPoint ©   (2006-09-20 11:09) [2]

Существенные преимущества: скорость до 30 раз быстрее, так что компонент можно использовать для вывода с высокоскоростных АЦП в реальном времени (добавление и вывод 500000 точек всего 0.047 сек на Р4-2.4. Для сравнения TChart - 1.3 сек). Плюс можно выбирать тип данных, а в TChart фиксировано Double.

1. Шутка нанайка! Скоро исправлю.
2. Пока не понятно какие значения будут чаще всего использоватся. К тому же очень много свойств отвечающих за геометрию.
3. Оно вообще не должно ресайзиться, недосмотр, извиняюсь.
4. Пока небыло времени дописать обработку исключителшьных ситуаций. (и в ближайшее время к сожалению не будет)
5. Учту.


 
MBo ©   (2006-09-20 11:36) [3]

Приведи пример, как сделать аналогично:

 N := 100;
 for i := 0 to N - 1 do
   Series1.AddXY(i, Sin(i));


 
BreakPoint ©   (2006-09-20 15:28) [4]

Данная реализация неэффективна с точки зрения быстродействия, т.к. вызывать метод класса для каждой точки нерационально. Поэтому в TPlotter такой реализация нет. Кроме того в в реальных приложениях необходимо вывести данные, которые уже находятся в памяти (буфер АЦП, даные с решателя), именно для этого и разрабатывался TPlotter.

var X, Y: TValueArray;
const N=100;
...
setLenght(X, N);
setLenght(Y, N);
for i := 0 to N-1 do
begin
 X[i] := i;
 Y[i] := i*i;
end;
Plotter.AddFunction(X, Y);
Plotter.Apply;

TPlotter не клон TChart. Он предназначен для других целей (скорость, большие массивы, часто изменяющиеся данные) поэтому и принципы работы отличаются. Но я подумаю над расширением функциональности в сторону более приземленных задач.


 
Stanislav ©   (2006-09-20 15:36) [5]

А он диаграммы Гантта не рисует?


 
BreakPoint ©   (2006-09-20 15:44) [6]

Пока нет. Но я планирую расширение сферы применения.


 
Stanislav ©   (2006-09-20 15:49) [7]

BreakPoint ©   (20.09.06 15:44) [6]

Было бы хорошо. Если бы еще и с БД работал...
Немогу найти нормальный объеккт для рисования диаграммы Гантта.


 
MBo ©   (2006-09-20 16:16) [8]

>Данная реализация неэффективна с точки зрения быстродействия, т.к. вызывать метод класса для каждой точки нерационально

Это понятно, я просто пример хотел увидеть.
Однако и с таким поточечным добавлением TeeChart7 обеспечивает  одинаковую с Plotter скорость примерно до 10 000 точек, далее тормозится, уступая на 100 тыс. точек примерно в 4 раза, а на миллионе - в 7-8 раз.
А метод AddArray дает на миллионе точек почти такую же скорость, как и Plotter.
Отмечу, что тысячи и более точек на график выводить бессмысленно. Должна проводиться предварительная обработка с отрисовкой выборки или специально подготовленных данных (например, сглаженных, или обязательным выводом пиков, если это важно)


 
MBo ©   (2006-09-20 16:26) [9]

Добавлю, что компонент для отображения научных и инженерно технических графиков должен быть востребован, т.к. TChart ориентирован все же в основном на бизнес-графику, и в нем нелегко обеспечить привычный для указанного контингента вид. Это относится и к разметке по осям, и к режиму осциллографа и т.д.


 
BreakPoint ©   (2006-09-20 16:50) [10]

по скорости я сравнивал с TeeChart из стандартной поставки Delphi7. Вполне возможно что в новых версиях скорость повысилась.

> Отмечу, что тысячи и более точек на график выводить бессмысленно.
>  Должна проводиться предварительная обработка с отрисовкой
> выборки или специально подготовленных данных

Совершенно верно. Такая обработка уже включена в TPlotter. Поэтому можно смело связывать буфер АЦП с TPlotter, без предварительной обработки. Более того, в TPlotter реализован режим прямого доступа к данным (см. Manual->DirectMode), и использование одной оси X для нескольких функций (см. Manual->Альтернативные способы задания функций
) что существенно повышает быстродействие.
P.S. А где можно TeeChart7 взять, для сравнения.


 
DimaBr   (2006-09-21 08:39) [11]


>  А где можно TeeChart7 взять, для сравнения.

http://www.fixdown.com/soft/18393.htm



Страницы: 1 вся ветка

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
1-1157041266
Max.66RUS
2006-08-31 20:21
2006.10.15
Вопрос по сохранению имени и пароля....


15-1158938470
ZMRaven
2006-09-22 19:21
2006.10.15
сотовые


15-1158737267
Ega23
2006-09-20 11:27
2006.10.15
С Днём рождения! 20 сентября


2-1159361585
Alex_C
2006-09-27 16:53
2006.10.15
Как узнать 1 и последнюю видимую строку в Memo?


2-1159647975
Ezorcist
2006-10-01 00:26
2006.10.15
ИИ для логической игры.