![]() |
Delphi-Version: 2005
langsames Tchart
Hey DP'ler
ich hab folgendes Problem: Ich lese au einer Firebird Datenbank, Datensätze aus und schreibe diese dann auf eine TChart. Nun dauert aber das zeichnen des Graphen sehr lange (es sind 12000 Datensätze mit je 2 Werten). Liegt das an der TChart allgemein oder an meinem Coder? Hier der Code:
Delphi-Quellcode:
Das befüllen der beiden Arrays mach ich in einem Thread in dem ich auch die Datensätze auslese.
public
arrml, arrmr: Array of Integer; ... procedure TFRM_Messung.anzeigen; var zt: Integer; begin zt := 0; while zt <= mx+1 do begin frm_messung.Ch_Messung.Series[0].AddY(arrml[zt]); frm_messung.Ch_Messung.Series[1].AddY(arrmr[zt]); zt := zt +1; end; end; |
AW: langsames Tchart
Schau mal ob es eine BeginUpdate und EndUpdate Methode für den Chart gibt. Da bin ich mir jetzt gerade nicht sicher. Wenn ja, BeginUpdate vor das Hinzufügen und EndUpdate dahinter. Sollte das Neuzeichnen des Charts während dem Einfügen verhindern.
|
AW: langsames Tchart
Befülle mal den Chart parallel zu den Arrays. Benötigst du die Arrays überhaupt?
|
AW: langsames Tchart
BeginUpdate und EndUpdate gibt es für ein TChart nicht, aber du kannst mal versuchen, vor dem Zecihnen des Charts die Property
AutoRepaint auf false zu setzen und nach dem zeichnen wieder auf true; |
AW: langsames Tchart
Zitat:
Grüße, Uli |
AW: langsames Tchart
Zitat:
Zitat:
Zitat:
|
AW: langsames Tchart
ich find auch bei der series, keine BeginUpdate.
|
AW: langsames Tchart
Hallo PhilmacFly,
warum benutzt Du nicht DBChart wenn die Daten von FB zur Verfügung gestellt werden. Bis bald Chemiker |
AW: langsames Tchart
Zitat:
Delphi-Quellcode:
Aber egal, ob ich Begin/End Update verwende: bei mir geht das Zeichnen sehr schnell (Lineseries, nur Defaultwerte). Ich denke, Du hast woanders ein Problem. Hast du denn schon mal mit einem Profiler geschaut, wo die Zeit verbraten wird?
Series1.BeginUpdate;
try Series1.Clear; for i := 1 to 12000 do begin Series1.AddY(Random(20)); end; finally Series1.EndUpdate; end; Grüße, Uli |
AW: langsames Tchart
Also ich hab extra nochmal geschaut hier in 2k5 gibts kein BeginUpdate.
Ich hab grad mal das mit dem Random werten getestet und das ging eigentlich relativ fix. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz