AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Firemonkey Performance

Ein Thema von Peter666 · begonnen am 5. Jun 2012 · letzter Beitrag vom 23. Apr 2013
Antwort Antwort
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#1

Firemonkey Performance

  Alt 5. Jun 2012, 22:16
Hi,

Ich habe hier ein ganz schön ärgerliches Problem. Die Performance von Measuretext und Filltext ist unterirdisch bei D2D und unter OSX. Das konkrete Beispiel ist ein 80x25 Zeichen großes Textfeld in einem Canvas (einfach ausgedrückt). Die Zeichen werden einzeln Nacheinander in das Canvas geiendert. Erst die Breite des Zeichens bestimmt und dann mit Filltext an die Position gebracht. Das geschieht sekündlich und ist extrem langsam. Mit GDI+ habe ich eine Prozessorlast von weniger als 1%, bei D2D und unter OSX ist das eine Last von 10%. Ich kann das zwar durch einen Rasterizer umgehen (es werden die Zeichen in Texturen gespeichert und dann von da Auschnittsweise kopiert). Für das Problem ist dies aber leider nicht anwendbar. Und nein es geht auch nicht das anderweitig zu realisieren.
Im Prinzip brauche ich das nur unter OSX. Kennt Jemand eine alternative Methode dort ein Textzeichen auf ein Canvas zu rendern?

Peter
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Firemonkey Performance

  Alt 5. Jun 2012, 22:45
Im Prinzip brauche ich das nur unter OSX.
Wäre es hier vermessen, auf ein Programmiertool zu verweisen, dass auf der Plattform etwas heimischer ist als Delphi?
"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
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#3

AW: Firemonkey Performance

  Alt 6. Jun 2012, 06:22
Jein, das komplette Projekt besteht aus 6mb Quellcode und ich zur gänze möchte ich es ungern nach ObjectiveC umsetzen, davon abgesehen finde ich XCode und ObjectiveC nicht so hübsch wie Delphi.
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#4

AW: Firemonkey Performance

  Alt 6. Jun 2012, 07:18
Edit: Ignorieren
Lars
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#5

AW: Firemonkey Performance

  Alt 6. Jun 2012, 07:19
Schau dir doch mal diesen Artikel an:

StackOverflow

Da gibts noch ein paar Booleans die man auf True/False stellen könnte für die Performance
Lars
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Firemonkey Performance

  Alt 6. Jun 2012, 09:45
Oder besser gleich auf Vektorgrafik setzen, den das ist die Grundlage von FMX
Markus Kinzler
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#7

AW: Firemonkey Performance

  Alt 6. Jun 2012, 11:22
Hallo Markus, irgendwie wusste ich das das jetzt kommt - Nein das Problem ist definitiv nicht mittels Vektorgrafik zu lösen, davon abgesehen bringt das auch nix. Ich frage mich warum man stets unbelesen dieses "Totschlagargument" widerkäut. Die Basisfunktionen (dazu gehört die Textausgabe) bauen auch auf das was unter FMX.Canvas.MAC, FMX.Canvas.GDIP bzw. D2D hinterlegt ist auf. Was nützt mir eine Ferrarikarosserie, wenn darunter ein Trabbimotor werkelt? Das zieht sich wie ein roter Faden durch das ganze Firemonkey. Überall wo man reinguckt findet man Codepassagen, wo man sich ernsthaft fragt wer so etwas durchgehen lässt. Was nützt mir ein optimierter Rest wenn die Grundfunktionen so dermaßen unperformant sind das jeder Versuch etwas zu optimieren fehlschlägt.

Auch extrem nervig sind die Memoryleaks, so fehlt beispielsweise bei: procedure TCanvasQuartz.FillText ein CFRelease(str); am Ende und das gleiche gilt bei MeasureText. Das sind nur die beiden Funktionen die ich mir problembezogen angeguckt habe.

Peter

Geändert von Peter666 ( 6. Jun 2012 um 11:33 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:11 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