Thema: Delphi GraphicsContainer

Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: GraphicsContainer

  Alt 27. Mär 2017, 05:20
Und wie oft wird diese Methode aufgerufen? Nur so oft wie nötig, sprich durch die Framerate vorgegeben, hoffe ich?

Jedenfalls machst du da ja relativ viel. Verglichen mit der Bibliothek, die wir uns angeschaut hatten, deutlich mehr glaube ich. Dort läuft es mit Hardwarebeschleunigung jedenfalls mit der CPU bei unter 5%. Zumindest mit meiner Testanimation.

Ziel muss sein möglichst viel vorzubereiten und nicht so viel bei jedem Frames zu machen. Ein Profiling Tool könnte helfen um zu sehen wo wie viel Zeit liegen bleibt.

Es kommt natürlich auch auf Betriebssystem und Grafikkartentreiber an, aber ab Windows 7 sollte die Hardware auch bei GDI immer direkt benutzt werden sofern Aero aktiv ist. (Ohne wird das Rendering generell zu einem großen Teil von der CPU übernommen.)

Da aber GDI nicht komplett in der Grafikkarte arbeitet, ist es trotzdem deutlich langsamer als Direct2D usw., genauer ist das hier dokumentiert:
https://msdn.microsoft.com/en-us/lib...n_in_windows_7

Deshalb wird GDI für neue Anwendungen ja auch nicht mehr empfohlen.

In aktuellen Delphiversionen gibt es aber einen schnellen TDirect2DCanvas als schnelle Lösung, der natürlich erst ab Windows 7 funktioniert (vorher fehlten in Windows die Grundlagen dafür):
http://docwiki.embarcadero.com/RADSt...-Zeichenfläche
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat