Форум: "Основная";
Поиск по всему сайту: 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.034 c
4-22505           Delphi5.01            2001-11-07 20:14  2002.01.08  
Проблемма с BitMap-ом


14-22396          Merlin                2001-11-02 09:54  2002.01.08  
Сегодня радостный день! Кроме того, что пятница...


6-22309           Дремучий              2001-10-10 19:02  2002.01.08  
Есть СЕТЕВАЯ КАРТА без паспорта, запломбирована!


3-21898           Delirium              2001-11-30 18:56  2002.01.08  
Можно-ли асинхронно запустить хранимую процедуру?


4-22468           Zabl                  2001-11-02 11:56  2002.01.08  
Утечка памяти