AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi FMX: Schnelles zeichnen gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

FMX: Schnelles zeichnen gesucht

Ein Thema von Sherlock · begonnen am 24. Nov 2016 · letzter Beitrag vom 1. Dez 2016
Antwort Antwort
Seite 2 von 3     12 3      
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: FMX: Schnelles zeichnen gesucht

  Alt 25. Nov 2016, 10:07
Ist die Verwendung von FMX Pflicht?
Ich werde hier mit 60 Messwerten pro Sekunde konfrontiert, die ich wegspeichern und - in Intervallen - verarbeiten und zeichnen muss, am Ende dann auch die Daten von 6-12 Stunden. Ich bin vom VCL-TBitmap auf die Graphics32-Bibliothek umgestiegen und damit war das Thema "Grafikausgabe" erledigt. Das Zeichnen erfolgt schnell genug, dass ich mich wieder in Ruhe dem verrechnen/glätten/eindampfen der Daten widmen kann.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

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

AW: FMX: Schnelles zeichnen gesucht

  Alt 25. Nov 2016, 10:41
Leider ist FMX für mich Pflicht, weil ich auf iDevices, Windows, Androiden und MacOS laufen muss...äh, also mein Programm. Also klassischer FMX Use Case

Ich habe gestern Nachmittag meine Datenstruktur umgebaut, bin noch am Testen. Eine Beschleunigung ist auf jeden Fall festzustellen. Schaue jetzt noch nach andern Zeichenstrategien.

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

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#13

AW: FMX: Schnelles zeichnen gesucht

  Alt 25. Nov 2016, 15:21
Hast du das denn mal versucht mit z.B. zwei festen FullScreen Images im Wechsel ?
Rollo62, danke für Deine Antwort, aber ich habe es nunmehr aufgegeben. FMX-Graphik ist mir einfach zu kompliziert und - trotz aller möglichen Versuche damit - auch zu langsam. Und wenn man es auch auf Windows XP laufen lassen möchte, wird es evtl. noch schwieriger. Auch wenn beständiges Lernen auch was für sich hat, so ziehe ich meine Motivation auch und vor allem daraus, mit vertretbarem Auwand spätestens mittelfristig auch zufriedenstellende Ergebnisse zu erreichen.

Hier muß ich wirklich mal die Lazarus-/Freepascalprogrammierer loben: Obwohl diese eine "VCL-artige", also delphiähnliche Graphik implementierte, ist diese dennoch - mehr oder weniger? - plattformunabhängig. Meine Lazarus-Compilate erfüllen jedenfalls meine Vorstellungen deutlich besser als die mit Delphi XEx erzeugten FMX-Resultate.

Vielleicht hat es damit zu tun, daß man sich für VGScene entschied, keine Ahnung. Daß es aber grundsätzlich auch mit einem VCL(-Derivat) möglich gewesen wäre, beweist die Lazarus-/FP-Entwicklergemeinde.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#14

AW: FMX: Schnelles zeichnen gesucht

  Alt 25. Nov 2016, 17:25
Dann versuch es doch noch einmal mit TChart, wie schon Uwe richtig vorgeschlagen hatte.

Ich bin ja immer geneigt, Dinge zu nehmen, die schon da sind. Hier würde ich mal einfach das in Delphi mitgelieferte TChart mit einer FastLine-Series in den Ring werfen.
Das kann schon eine ganze Menge, ist gut konfigurierbar und sollte auch schnell genug sein.
Wenn das nicht schnell genug läuft wird es sowieso schwierig werden.

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

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

AW: FMX: Schnelles zeichnen gesucht

  Alt 28. Nov 2016, 09:41
Ja, ich werde mich wohl ins TeeChart reinfuchsen, hoffentlich ist die inkludierte Variante ausreichend für meinen Bedarf.

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

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

AW: FMX: Schnelles zeichnen gesucht

  Alt 29. Nov 2016, 13:43
Zu Deiner Zeichenroutine...

Musst Du immer wieder gemäß min max neu skalieren?

Wenn nein -> OMG, warum erzeugst Du jedes mal eine Monster-Bitmap, die Werte ändern sich doch nicht mehr?

Zeigst Du alle Werte immer an auf einem Bildschirm oder ist das eine große horizontale Bitmap mit jedem einzelnen Wert?
Also skaliert habe ich auf 1cm/Minute, indem ich einmalig die Skalierung des Systems lese und davon abhängig dann über die Pixel pro Centimeter einzeichne. Es wird also nur einmal skaliert... pro Bitmaperzeugung.
Ich würde ja gerne einfach nur die neuen Werte anhängen. Es ist eine große horizontale Bitmap. Und irgendwann ist diese Bitmap natürlich zu breit, so daß ich mir behelfen müsste mit mehreren Bitmaps aneinandergeklebt, oder sowas.

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

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#17

AW: FMX: Schnelles zeichnen gesucht

  Alt 29. Nov 2016, 14:07

FMX-Graphik ist mir einfach zu kompliziert und - trotz aller möglichen Versuche damit - auch zu langsam.
FMX nutz die GPU - wenn man es richtig macht...

Bedeutet FMX ist gerade in der Grafikausgabe so schnell wie es Deinen Hardware ermöglicht... Auf jeden Fall schneller als ALLES was in einfachem Pascal implementiert ist!

Abgesehen von ein paar Taktzyklen overhead, hat man nahezu reine DirectX performance...

Also skaliert habe ich auf 1cm/Minute, indem ich einmalig die Skalierung des Systems lese und davon abhängig dann über die Pixel pro Centimeter einzeichne. Es wird also nur einmal skaliert... pro Bitmaperzeugung.
Ich würde ja gerne einfach nur die neuen Werte anhängen. Es ist eine große horizontale Bitmap. Und irgendwann ist diese Bitmap natürlich zu breit, so daß ich mir behelfen müsste mit mehreren Bitmaps aneinandergeklebt, oder sowas.

Sherlock
Dann nimm doch
1. jeweils für eine Minute eine eigene Bitmap und bau dir daraus für den Bildschirm eine Grafik...
2. baue diese Grafik im Hintergrund und stelle diese dann dar...
3. Keine Scrollbox (ginge zwar auch) einfach beim scrollen neu zusammen stellen...
4. so schaffst Du mindestens 60 FPS... Wahrscheinlich eher 1000 FPS (je nach Auflösung)

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

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

AW: FMX: Schnelles zeichnen gesucht

  Alt 29. Nov 2016, 14:14
An dieser Methode bin ich gerade dran.

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

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

AW: FMX: Schnelles zeichnen gesucht

  Alt 1. Dez 2016, 11:51
Die Teilbilder malen in der Tat Pfeilschnell, passen dafür aber nicht schön zusammen. Ich vermute Antialiasing. Wie kann ich das beim TBitmap.Canvas.DrawPath abschalten?

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

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#20

AW: FMX: Schnelles zeichnen gesucht

  Alt 1. Dez 2016, 11:58
Die Teilbilder malen in der Tat Pfeilschnell, passen dafür aber nicht schön zusammen. Ich vermute Antialiasing. Wie kann ich das beim TBitmap.Canvas.DrawPath abschalten?

Sherlock
Kind auf Original?
Scale auf 1?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 21:30 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