Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

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 в боксах.
Вот кода от автора мы еще не видели.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.054 c
3-21986           Dreamer               2001-12-06 15:43  2002.01.08  
Data Field not permitted on open DataSet


3-21978           Анонимщик             2001-12-04 20:25  2002.01.08  
ADO+Excel+Delphi5


1-22234           x000d                 2001-12-17 01:34  2002.01.08  
Активное ,не активное.


1-22116           Bond                  2001-12-19 19:08  2002.01.08  
У кого-нить есть процедурка хеша-MD5?


14-22388          Merlin                2001-11-08 11:43  2002.01.08  
Очередная грязь в кладовке