Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   GDI+ Performance Tipps (https://www.delphipraxis.net/162456-gdi-performance-tipps.html)

Neutral General 24. Aug 2011 13:55

AW: GDI+ Performance Tipps
 
Klar, man muss ja die GDI+ nicht direkt als tot hinstellen und ich denke für viele Sachen ist GDI+ um einiges besser geeignet und auch einfacher als DX.

Allerdings ist DirectX schon schneller als die GDI+. Denke nicht, dass man damit Echtzeit-Graphik mit mehr als vllt. 30 FPS darstellen kann (Es sei denn es hat ne Auflösung von 300x200 oder so).

Aber dafür ist die GDI+ meiner Meinung nach auch nicht Gedacht. Um so schöne Programme zu machen wie EWeiss bietet sich GDI+ an. Für Spiele ist DX sicher besser geeignet.

DeddyH 24. Aug 2011 13:59

AW: GDI+ Performance Tipps
 
Eben, um einen Nagel in die Wand zu schlagen benutzt man zweckmäßigerweise einen Hammer. Zum Auswechseln von Zündkerzen ist er aber nur sehr bedingt geeignet. Es kommt also auf den Verwendungszweck an, welches Werkzeug die bessere Wahl ist.

EWeiss 24. Aug 2011 14:07

AW: GDI+ Performance Tipps
 
Zitat:

Zitat von NamenLozer (Beitrag 1119293)
Zitat:

Zitat von EWeiss (Beitrag 1119285)
Und Messbar langsamer?
Denke mal nicht.
Nur weil die Zeichenoperationen von der GPU, quasi ausgelagert werden ist das nicht schneller für mich.
Rechne die auslastung der GPU auf die CPU um dann ist es genauso langsam..
Es wird also nur suggestiert das man mit DX schneller ist.

Ähm wat. Und ob GPUs bei Grafikverarbeitungen schneller (und effizienter) sind... das liegt einfach an der anderen Architektur. Der Unterschied ist gewaltig (eine GPU ist u.U. locker 1000× so schnell wie eine CPU, wenn nicht mehr).

Messbar ist der Unterschied also auf jeden Fall. Spürbar nicht unbedingt, je nachdem, was man macht...

Erstelle eine Anwendung in DX und mit GDI+
Nimm ne Grafikkarte welche das Rendern über GPU nicht unterstützt
Dann sage mir ist DX schneller oder nicht ? ;)

Was ist dann noch Messbar!
Wenn schon vergleiche anstellen dann zu gleichen bedingungen.

Zitat:

Eben, um einen Nagel in die Wand zu schlagen benutzt man zweckmäßigerweise einen Hammer.
Was ich sage :) Bin deiner Meinung!

Zitat:

Für Spiele ist DX sicher besser geeignet.
Jup

gruss

Namenloser 24. Aug 2011 15:21

AW: GDI+ Performance Tipps
 
Zitat:

Zitat von EWeiss (Beitrag 1119305)
Erstelle eine Anwendung in DX und mit GDI+
Nimm ne Grafikkarte welche das Rendern über GPU nicht unterstützt

derp.

ehX 24. Aug 2011 16:56

AW: GDI+ Performance Tipps
 
Zitat:

Nimm ne Grafikkarte welche das Rendern über GPU nicht unterstützt
Dann sage mir ist DX schneller oder nicht ?

Was ist dann noch Messbar!
Wenn schon vergleiche anstellen dann zu gleichen bedingungen.
Das sind die gleichen Bedingungen, wenn man DirectX die Basis raubt (keine DX-Graka)?
Wobei selbst onboard-Chips, die vor 5-10 jahren hergestellt wurden, das bereits ganz ok können..

Dem mit dem "es wird einem nur suggeriert, dass DX schneller ist" kann ich nicht zustimmen...ich arbeite ja selbst mit DX / OpenGL und hab auch ein paar Sachen mit GDI(+) gemacht.
Weiss nicht, aber die beiden als Äquivalent in der Performance darzustellen, ist wie zu sagen "Ja, und? Ein Porsche kann im Stadtverkehr ja auch nur 50 fahren wie mein Fiesta, da merkt man ja keinen Unterschied"
Naja, ich glaube, die Diskussion ist müßig...
Jeder macht das, was ihm Spass macht, und gut ist :-)
Ich wollte Neutral General eigentlich nur den Tipp geben, es mal damit zu versuchen.
Denn was für GDI(+) und den Spassfaktor angeht, gilt für DX/OpenGL noch mehr: Es macht tierisch Spass, damit herumzuexperimentieren, wenn man mal Blut geleckt hat und man hat fast unbegrenzte Möglichkeiten, wenn man es mal verstanden hat.

EWeiss 24. Aug 2011 17:27

AW: GDI+ Performance Tipps
 
Zitat:

Jeder macht das, was ihm Spass macht, und gut ist
:thumb:

gruss

brechi 24. Aug 2011 20:03

AW: GDI+ Performance Tipps
 
schonmal versucht nicht jedes mal TGPGraphics zu erstellen sondern einmal global?
Und unter GDI funktioneirt pf24Bit eignetlich immer am schnellsten, kenn mich mi GDI+ net wirklch aus

Neutral General 24. Aug 2011 21:09

AW: GDI+ Performance Tipps
 
Zitat:

Zitat von brechi (Beitrag 1119416)
schonmal versucht nicht jedes mal TGPGraphics zu erstellen sondern einmal global?
Und unter GDI funktioneirt pf24Bit eignetlich immer am schnellsten, kenn mich mi GDI+ net wirklch aus

Hallo,

Also das Problem bei TGPGraphics ist, dass die HDCs sich dauernd ändern und man dann nach ner halben Sekunde ins nichts malt. Hab das schon ausprobiert.

Also von der GDI weiß ich nur dass TBitmap + Scanline im pf32Bit Modus um einiges schneller ist als im 24-Bit Modus. Und das Pixelformat dass ich bei GDI+ gerade verwende war gefühlt auch das schnellste.

VT 30. Jul 2013 16:14

AW: GDI+ Performance Tipps
 
@Neutral General

Den größten Performancesprung kannst du machen indem du den VCL internen Rendercode aushebelst (erklär ich jetzt mal nicht, bei bedarf nachhaken) und du TGPCachedBitmap verwendest anstatt TGPImage. Die "cached bitmaps" werden im optimierten Format für den Canvas abgelegt und sind somit rasend schnell mit GDI+ gezeichnet über TGPGraphics.DrawCachedBitmap().


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz