Thema: Delphi Performance-Optimierung

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

AW: Performance-Optimierung

  Alt 16. Jul 2012, 16:50
Du greifst aber nicht zufällig auf Canvas.Pixels zu?

Wenn doch, dann kannst du Funktionsaufrufe optimieren wie du willst ... Pixels ist sowas von lahm, da fallen die 1-2 CPU-Ticks auch nicht mehr auf.

Delphi-Referenz durchsuchenTCanvas.ScanLine ... gibt zu Hier im Forum suchenPixels und ScanLine auch schon genügend Themen, welche man sich gerne durchlesen könnte.



Und ja, wenn immer wieder das Selbe berechnet wird und dabei immer das Selbe rauskommt, dann ist es natürlich schneller, wenn es nur einmal berechnet wird.

Funktionsaufrufe sind "Sprünge" und wenn dann auch noch "wenig" in der Funktion/Prozedur gemacht wird, dann kann sich das rumgespringe schon etwas auf die Zeit auswirken.
Inline-Funktionen

Delphi-Quellcode:
function xyz(i, i2: Integer): Integer; inline;
begin
  Result := i * i2;
end;
Solch eine Inlinefunktion ist fast wie ein Makro ... hier wird an der Stelle des Aufrufs nicht zur Prozedur gesprungen, sondern der enthaltene Code (wenn möglich) direkt da eingebaut, also so, als wenn man den Code direk dort hingeschrieben und nicht in eine Funktion ausgelagert hätte.



Und wie im anderen Thread schon erwähnt wurde, gibt es verschiedene Performance-Tools, welche einem die "Engstellen" nennen.
Oder man misst selber nach, indem man an verdächtigen Stellen die Zeit stoppt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (16. Jul 2012 um 16:59 Uhr)
  Mit Zitat antworten Zitat