Текущий архив: 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.48 MB
Время: 0.044 c