AGB  ·  Datenschutz  ·  Impressum  







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

Geschwindigkeit einer Komponente, Eure Erfahrungen

Ein Thema von Chris211183 · begonnen am 16. Feb 2015 · letzter Beitrag vom 18. Feb 2015
Antwort Antwort
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#1

Geschwindigkeit einer Komponente, Eure Erfahrungen

  Alt 16. Feb 2015, 12:39
Hallo Ihr Lieben,

ich benötige mal eure Tips und Erfahrungen, wie ich jetzt am besten weiter vorgehen kann oder sollte.

Mein Histograph ist fertig, siehe Screenshot und getestet ist er soweit auch, sämtliche Eigenschaften funktionieren, wie sie sollen.

Dieser Histograph, soll mir später als Oszilloskop dienen.

Nun meine Frage: Wie geht man jetzt am besten vor, dass die Kurvenanzeige schnell ist.
Wenn er viele Werte bekommt (Ultraschallsignal), wie lässt man das am besten Darstellen ?
Die Komponente (Hintergrund und Skalierung) ändert sich dabei nicht.

Meine Idee : Diese in eine Bitmap speichern und den Graphen nur zeichnen lassen ???

Was habt ihr für Erfahrungen und Empfelungen mit sowas ?

Viele Grüße
Miniaturansicht angehängter Grafiken
histocompo.jpg  
Christian
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#2

AW: Geschwindigkeit einer Komponente, Eure Erfahrungen

  Alt 17. Feb 2015, 09:02
Keiner ?
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#3

AW: Geschwindigkeit einer Komponente, Eure Erfahrungen

  Alt 17. Feb 2015, 09:09
Mach doch einfach mal, und dann sieht man ja wo es hinführt, und wo es eventuell klemmt. Kurz gesagt: Probieren geht über studieren.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: Geschwindigkeit einer Komponente, Eure Erfahrungen

  Alt 17. Feb 2015, 14:53
Der Ansatz: Hintergrund in separatem Bitmap vorhalten und bem Neuzeichnen diesen erst auf das Ausgabebild malen und danach die veränderlichen Daten zeichnen absolut richtig. Was es dabei aber unbedingt zu vermeiden gilt, ist die Verwendung von TCanvas.Pixels[]. Das ist nämlich grotten lahm. Kopieren von Bildern mit BitBlt() dagegen ist super flott, und die Zeichenroutinen, die TCanvas sonst noch bereitstellt sind auch in der Regel ausreichend schnell.
Und wenn alle Stricke reissen, bleibt auch noch die Nutzung der Graphics32 Lib, die insgesamt schneller ist als TBitmap und allem was da so zu gehört.

Mal so Pseudocodig:
Delphi-Quellcode:
// Bei Programmstart:
  DrawBackgroundImageTo(BackgroundBitmap);

// Im OnPaint:
  BitBlt(BackgroundBitmap.Canvas.Handle, DisplayBitmap.Canvas.Handle, SRCCOPY);
  DrawDynamicDataTo(DisplayBitmap);
  BitBlt(DisplayBitmap.Canvas.Handle, AnzeigePaintbox.Canvas.Handle, SRCCOPY);
Und damit das Neuzeichnen immer bei Eintreffen neuer Daten gemacht wird, musst du nur noch im Handler für den Empfang am Ende ein DeinAnzeigeFormular.Invalidate; machen (Wodurch OnPaint automatisch ausgelöst wird.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#5

AW: Geschwindigkeit einer Komponente, Eure Erfahrungen

  Alt 18. Feb 2015, 09:23
Super ! vielen Dank !
Dass das Zeichnen mit Pixelkoordinaten so langsam ist, war mir nicht bekannt !

Vielen Dank für die Tips !
Christian
  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 02:37 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