Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Firemonkey - ungültige Zeigeroperation

  Alt 20. Feb 2014, 21:25
Aber du hast insofern Recht, weil dort der Setter und darin eine weitere Funktion aufgerufen wird. Und jeder call kostet durchaus Zeit.

Darum gibt es ja auch für performance-relevante Funktionen den Tipp, diese als inline zu deklarieren. Das macht die EXE zwar grösser aber auch schneller.
Da stimme ich Dir zu. Bei meinem Bildverarbeitungsprogramm, wo ich z.B. in der Ebenendarstellung ein unteres mit dem oberen Bild verrechnen muss, z.B. bezogen auf unterschiedliche Transparenzwerte im jeweiligen Bild, Deckungskraft der Ebenen, Masken und Filter ("Strahlendes Licht", etc). kommen ganz schnell mehrere 100 Mio. Berechnungsvorgänge beisammen. Ohne Inline geht das an bestimmten Stellen gar nicht mehr. Im normalen Programmablauf macht ein Call nichts aus, musst Du aber einen Call mehrere 100 Mio. mal aufrufen, evtl. sogar Parameter übergeben, dann merkt man es ganz heftig.
  Mit Zitat antworten Zitat