AGB  ·  Datenschutz  ·  Impressum  







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

Algorithmus zum darstellen von Daten beschleunigen

Ein Thema von hedie · begonnen am 26. Jan 2011 · letzter Beitrag vom 26. Jan 2011
Antwort Antwort
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

AW: Algorithmus zum darstellen von Daten beschleunigen

  Alt 26. Jan 2011, 13:59
Die Zeichenfunktionen draw_up() usw. sollten ein TCanvas-Objekt anstelle eine TImage-Objekts als Übergabeparameter bekommen.
Delphi-Quellcode:
procedure draw_up(canvas:TTCanvas;color:TColor;x:integer);
begin
  with canvas do
  begin
    Pen.Color := color;
    Pen.Width := 2;
    MoveTo(posx(x),25);
    LineTo(posx(x),5);
  end;
end;
Das hat ausserdem den Vorteil, dass du gegebenenfalls auch auf eine Paintbox oder ein Bitmap zeichnen kannst.
Andreas
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#2

AW: Algorithmus zum darstellen von Daten beschleunigen

  Alt 26. Jan 2011, 14:04
Die Zeichenfunktionen draw_up() usw. sollten ein TCanvas-Objekt anstelle eine TImage-Objekts als Übergabeparameter bekommen.
Delphi-Quellcode:
procedure draw_up(canvas:TTCanvas;color:TColor;x:integer);
begin
  with canvas do
  begin
    Pen.Color := color;
    Pen.Width := 2;
    MoveTo(posx(x),25);
    LineTo(posx(x),5);
  end;
end;
Das hat ausserdem den Vorteil, dass du gegebenenfalls auch auf eine Paintbox oder ein Bitmap zeichnen kannst.
Vielen Dank für deine Antwort...

Ist das Zeichnen auf ein Bitmap oder eine Paintbox schneller als in ein Image?

Gruss
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#3

AW: Algorithmus zum darstellen von Daten beschleunigen

  Alt 26. Jan 2011, 14:13
Musst du immer alle Daten eines Kanals anzeigen oder ist vielleicht die Anzeigefläche so klein, das es ausreichen würde, weniger Daten zu zeichnen?

Außerdem wäre es interessant zu wissen, ob sich die Werte in den Kanälen immer komplett ändern oder zum großen Teil gleich bleiben.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#4

AW: Algorithmus zum darstellen von Daten beschleunigen

  Alt 26. Jan 2011, 14:19
Musst du immer alle Daten eines Kanals anzeigen oder ist vielleicht die Anzeigefläche so klein, das es ausreichen würde, weniger Daten zu zeichnen?

Außerdem wäre es interessant zu wissen, ob sich die Werte in den Kanälen immer komplett ändern oder zum großen Teil gleich bleiben.
Ja die anzeige Fläche ist manchmal ( je nach zoom einstellung) kleiner als die Maximale Anzahl Daten


Die Werte ändern nicht immer komplett...
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

AW: Algorithmus zum darstellen von Daten beschleunigen

  Alt 26. Jan 2011, 17:37
Ist das Zeichnen auf ein Bitmap oder eine Paintbox schneller als in ein Image?
Das kommt drauf an, was man erreichen möchte.
Eine Paintbox ist für Daten, die sich häufig ändern geeignet (z.B. für die Kurve eines Herzmonitors).
Ein TImage ist "im Prinzip" wie eine Paintbox mit fest eingebautem Bitmap.
Falls das Zeichnen zeitaufwändig ist, kann beim Zeichnen auf ein Image ein Flackereffekt eintreten.
Die lässt sich vermeiden, wenn man auf ein temporäres Bitmap zeichnet und dieses Bitmap auf ein Puffer-Bitmap kopiert.
Dieses Puffer-Bitmap würde man dann mit einer Paintbox anzeigen. (Prinzip Double-Buffering)

Wenn man auf ein Canvas-Objekt zeichnet hat man auf jeden Fall die Wahl, wie man das Bild ausgeben möchte.
Man kann auch auf den Drucker zeichnen; wer weiss, vielleicht willst du die Ausgabe mal drucken.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

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

AW: Algorithmus zum darstellen von Daten beschleunigen

  Alt 26. Jan 2011, 14:11
Hallo,

also wenn ich da optimieren würde, dann als erstes mal indem ich Befehle die unnötig sind zu enfernen.

In deinem Fall würde ich damit beginnen, ein Methode zu schreiben, die die Canvas - bzw. in deinem Fall den Pen vorbereitet.

Delphi-Quellcode:
procedure InitCanvasPen(ACanvas: TCanvas; AColor: TColor; AWidth: Integer);
begin
  ACanvas.Pen.Color := AColor;
  ACanvas.Pen.Width := AWidth;
end;
Die dann nur einmal am Anfang aufrufen und die entsprechenden Zeilen aus draw_* raus nehmen.

Gruß, Chris
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
Antwort Antwort


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 12:17 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 by Thomas Breitkreuz