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

Вниз

Chart   Найти похожие ветки 

 
Анатолий   (2001-12-17 06:36) [0]

Как уменьшить время построения графиков с помощью модуля Chart.
Я на модуле строю четыре линии Series типа Fast line. Работаю с Delphi версии 4 на ПК Pentium 166. Построение кривых выполняется несколько минут. Как ускорить построение графика? Большая точность мне не нужна.


 
Mbo ©   (2001-12-17 06:52) [1]

должно быть порядка секунды при разумных количествах точек.
сколько у тебя точек и какой размер ОЗУ (памяти)?
приведи код.


 
Fellomena   (2001-12-17 10:27) [2]

У меня на Duron650 192PC133 Huindai при большом кол-ве точек (больше 250) обычный график (с точками, т.е. не fastline)
тоже немного тормозится (секунд 5-6 бывает).
Что бы быстрее этот процес шёл, ...хм... может приоритет проги поднять попробывать ?


 
Alx2 ©   (2001-12-17 11:57) [3]

Может не стоит рисовать много точек? Например,можно попробовать уменьшить их количество за счет какой-нибудь интерполяции.


 
Fellomena   (2001-12-17 12:29) [4]

Alx2:
угу, вместотого, что бы своей задачей заниматься, приходится со всякой-всячиной возиться.
...помню я эту интерполяциу... кубическими сплайнами... тьфю -- гадость 8\
(кстати, оч. рада тебя видеть 8)
вы с Mbo всегда мне (и не только)помогаете по части математики и графиков 8)
Спасибо вам огромное, ребята !


 
Alx2 ©   (2001-12-17 12:56) [5]

Felomena:
Взаимно рад :))
По поводу интерполяции: если графики достаточно гладкие, то интерполяция может выглядеть, например, как простое выбрасывание каждой второй точки.


 
Alx2 ©   (2001-12-17 12:57) [6]

Fellomena:
Ну вот! Сорри, что переврал ник.


 
Mbo ©   (2001-12-17 13:35) [7]

вот это в D3 на P200ммх - 3 секунды FastLine, 5 cек. обычный Line

for i:=1 to 10000 do begin
series1.addxy(i,sin(0.001*i),"",clTeeColor);
series2.addxy(i,sin(0.002*i),"",clTeeColor);
series3.addxy(i,sin(0.003*i),"",clTeeColor);
series4.addxy(i,sin(0.004*i),"",clTeeColor);
end;


 
Fellomena   (2001-12-17 17:23) [8]

2 Mbo: в своём примере используешь примитивный алгоритм изменения i
А попробуй в цикле производить какие-нибудь более громозкие вычисления (да что далеко ходить - многомерная минимизация, пусть даже 2 параметра).
Т.е. каждая точка шага ставится в цикле... Сам счёт, без вывода, проходит быстро, вывод большого кол-ва точек (судя по твоему примеру)тоже не долго...,
но если вывод и счёт совместить - то время ростёт... сильно ростёт...


 
MBo ©   (2001-12-17 17:30) [9]

Вполне возможно. Это слегка напоминает ситуацию, решаемую с помощью BeginUpdate в боксах.
Вот кода от автора мы еще не видели.



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
1-22254
alina
2001-12-17 13:32
2002.01.08
Архивация данных


3-21934
Alexsyy
2001-12-04 08:52
2002.01.08
Help me please


4-22460
Dimich
2001-11-01 08:49
2002.01.08
Люди-HELP!!! Дисер горит!!!


14-22357
Виктор Щербаков
2001-11-01 12:40
2002.01.08
Восстановление фотографий


3-21928
kaif
2001-12-04 17:42
2002.01.08
arithmetic overflow or string truncation при Restore