AGB  ·  Datenschutz  ·  Impressum  







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

Schnelleres LineTo

Ein Thema von ChrisE · begonnen am 25. Jul 2006 · letzter Beitrag vom 26. Jul 2006
 
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Schnelleres LineTo

  Alt 25. Jul 2006, 18:29
Hallo,

ich weiß nicht, ob ich hier in "Programmieren allgemein" richtig bin, aber ich beschreibe mal mein Problem.
Gegeben seien Messwerte (8 Stunden / 200 Hz / 12 Kanäle). Die Darstellung der Kanäle Erfolgt auf einer Paintbox. Abgesehen von der Skalierung der Wert in X- und Y-Richtung (bereits gelöst), bleibt das Problem, dass dieser Ansatz:
Delphi-Quellcode:
with PaintBox1.Canvas do begin
  MoveTo(0, WertToY(Wert[0]));
  for i := 0 to high(Wert) do
    LineTo(IndexToX(i), WertToY(Wert[i]));
end;
zu lange dauert. Das Problem ist natürlich die sehr große Anzahl (~ 12 * 5,76 Mio) von LineTo's.
Folgendes habe ich bereits Probiert:
1. PolyLine von TCanvas
Nicht wirklich schneller als der Code oben. Eher langsamer

2. Nur alle n-ten Werte Zeichnen die auf eine X-Koordiante fallen
Problem: Die Anzahl zu verringen geht so in erster Näherung nicht, das in den Werten Peaks sein können (...0,0,3,205678.789,4,5,6,7....).

3. Das Min und Max aller Werte die auf eine X-Koordinate Fallen bestimmen und dann MoveTo(X,Min), LineTo(X,Max);
Problem: Das Suchen in den Werten braucht auch seine Zeit.

Nun die Frage, gibt es eine ganz anderen Ansatz eine solchen "Linienwald" mit höherer Performance zu zeichnen?

Vielen Dank für Eure mühe.

Mfg, Chris

P.S.: Sollte auch unter Win98 funktionieren
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
 


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 19:18 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