AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

langsames Tchart

Ein Thema von PhilmacFLy · begonnen am 8. Jul 2010 · letzter Beitrag vom 9. Jul 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#1

langsames Tchart

  Alt 8. Jul 2010, 11:22
Delphi-Version: 2005
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:
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;
Das befüllen der beiden Arrays mach ich in einem Thread in dem ich auch die Datensätze auslese.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#2

AW: langsames Tchart

  Alt 8. Jul 2010, 11:26
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: langsames Tchart

  Alt 8. Jul 2010, 11:28
Befülle mal den Chart parallel zu den Arrays. Benötigst du die Arrays überhaupt?
Markus Kinzler
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#4

AW: langsames Tchart

  Alt 8. Jul 2010, 11:30
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;
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
427 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: langsames Tchart

  Alt 8. Jul 2010, 11:53
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;
Für das Chart nicht, aber für die Reihen (Series) schon.

Grüße, Uli
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#6

AW: langsames Tchart

  Alt 8. Jul 2010, 12:01
Befülle mal den Chart parallel zu den Arrays. Benötigst du die Arrays überhaupt?
Das hab ich probiert, das lief genau so langasam. Die Array hab ich eingefügt das es zwischen dem Thread und der Anwendung keine verschränkung gibt.

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;
Das hat mir schon viel geholfen vielen Dank.
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;
Für das Chart nicht, aber für die Reihen (Series) schon.

Grüße, Uli
Das probier ich auch noch aus vllt gehts noch schneller.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#7

AW: langsames Tchart

  Alt 8. Jul 2010, 12:14
ich find auch bei der series, keine BeginUpdate.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: langsames Tchart

  Alt 8. Jul 2010, 20:03
Hallo PhilmacFly,

warum benutzt Du nicht DBChart wenn die Daten von FB zur Verfügung gestellt werden.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
427 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: langsames Tchart

  Alt 9. Jul 2010, 09:50
ich find auch bei der series, keine BeginUpdate.
Hm, also ich hab es grad mal eben mit dem TChart getested, das mit Delphi 2007 ausgeliefert wird: TeeChart 7.10.

Delphi-Quellcode:
  Series1.BeginUpdate;
  try
    Series1.Clear;
    for i := 1 to 12000 do
    begin
      Series1.AddY(Random(20));
    end;
  finally
     Series1.EndUpdate;
  end;
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?


Grüße,
Uli
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#10

AW: langsames Tchart

  Alt 9. Jul 2010, 11:42
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.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz