AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GDI+ Performance Tipps

Ein Thema von Neutral General · begonnen am 23. Aug 2011 · letzter Beitrag vom 30. Jul 2013
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: GDI+ Performance Tipps

  Alt 24. Aug 2011, 13:55
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.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: GDI+ Performance Tipps

  Alt 24. Aug 2011, 13:59
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

AW: GDI+ Performance Tipps

  Alt 24. Aug 2011, 14:07
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

Geändert von EWeiss (24. Aug 2011 um 14:17 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#14

AW: GDI+ Performance Tipps

  Alt 24. Aug 2011, 15:21
Erstelle eine Anwendung in DX und mit GDI+
Nimm ne Grafikkarte welche das Rendern über GPU nicht unterstützt
derp.
  Mit Zitat antworten Zitat
Benutzerbild von ehX
ehX

Registriert seit: 11. Aug 2011
Ort: Augsburg
55 Beiträge
 
Delphi 2009 Professional
 
#15

AW: GDI+ Performance Tipps

  Alt 24. Aug 2011, 16:56
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.
Fin

Geändert von ehX (24. Aug 2011 um 17:00 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#16

AW: GDI+ Performance Tipps

  Alt 24. Aug 2011, 17:27
Zitat:
Jeder macht das, was ihm Spass macht, und gut ist


gruss
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#17

AW: GDI+ Performance Tipps

  Alt 24. Aug 2011, 20:03
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
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#18

AW: GDI+ Performance Tipps

  Alt 24. Aug 2011, 21:09
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.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
VT

Registriert seit: 9. Dez 2002
11 Beiträge
 
#19

AW: GDI+ Performance Tipps

  Alt 30. Jul 2013, 16:14
@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().
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 15:37 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