Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

Графік Знайти схожі гілки


Анатолий   (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;
Завантажити: [xml.tar.bz2];

Вгору





Пам'ять: 0.57 MB
Час: 0.025 c
6-22316
dmur
2001-09-24 20:58
2002.01.08
Перехоплення помилок при з'єднанні за допомогою сокетів


14-22410
fint
2001-11-08 15:10
2002.01.08
Спробуйте


1-22210
Man In Red
2001-12-15 20:12
2002.01.08
Як намутити таке, що б ............................


3-21907
RDA
2001-12-01 12:48
2002.01.08
Delphi і MySql


1-22083
DeNNiss
2001-12-19 12:06
2002.01.08
Допоможіть будь ласка!





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська