Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 2D-Bitmap scrollen ???!!! (https://www.delphipraxis.net/37238-2d-bitmap-scrollen.html)

Oxmyx 4. Jan 2005 12:34

Re: 2D-Bitmap scrollen ???!!!
 
Zitat:

Zitat von Ben1
?
Wenn auf den Rechner DX 9 installiert ist, man aber z.B. DX 7 Funktionen benutzt, dann werden die trotzdem von DX 9 ausgeführt !
Außerdem, wat willste den bitteschön beim simplen zeichen einer Bitmap in 2D groß beschleunigen ?
Die Hardwarefunktionen der Grafikkarte sind doch auf 3D ausgelegt, die nützen da sowieso nichts.

Genau deshalb wurde DirectDraw doch abgeschafft, weil es eben nicht die Hardwarefunktionen der Grafikkarte nutzt. Und wenn ich eine DirectDraw-Anwendung erstelle, dann werden mit Sicherheit nicht die Funktionen von DirectX9 benutzt, weil es DirectDraw seit Version 8 einfach nicht mehr gibt.
Selbstverständlich kann man das Zeichnen eines Bildes extrem beschleunigen, wenn man wie von mir oben beschrieben entweder RHW-Vertizes oder normale Vertizes und Identitätsmatrizen für Sicht und Perspektive verwendet, denn dann kommen die Zeichenfähigkeiten der 3D-Grafikkarte voll zum tragen. Man wäre schön blöd, wenn man darauf verzichten würde mit einer völlig veralteten Technologie wie DirectDraw.

Ben1 4. Jan 2005 13:07

Re: 2D-Bitmap scrollen ???!!!
 
Das müßtest du mir nun aber mal begründen !?

Warum sollte eine Bitmap wenn sie ohne Umweg über DX 7 Schnittstellen auf das Surface gezeichnet wird, langsamer dargestellt werden als wenn ich sie vorher expliziet mit DX 9 durch die komplette Renderpipline jage ?

Ich würde eher sagen das es gleichschnell ist, da DX 9 Befehle über DX 7 Schnittstellen mit seinen eigenen Mitteln umsetzt. Aber das könnte wohl nur das Experiment belegen bzw. wiederlegen.

Oxmyx 4. Jan 2005 13:23

Re: 2D-Bitmap scrollen ???!!!
 
Du hast dir die Antwort schon selber gegeben: Weil ich das Rechteck mit dem Bild durch die Rendering-Pipeline jage. Dann übernimmt der Rasterizer der 3D-Hardware das Zeichnen der Texel, und der ist viel schneller als wie wenn man direkt die Pixel auf das Surface setzt.

Eins ist aber völliger Unsinn: DirectX9 benutzt keine einzige Direct7-Schnittstelle! DirectX9 hat eine völlig andere Architektur als DirectX7, mit der Version 8 wurde ein radikaler Bruch vollzogen, als dieser ganze Krempel mit DirectDraw und Retained/Immediate-Mode abgeschafft wurde.

Ben1 4. Jan 2005 14:09

Re: 2D-Bitmap scrollen ???!!!
 
Zitat:

DirectX9 benutzt keine einzige Direct7-Schnittstelle!
Das habe ich ja auch nie behauptet, ich sagte nur das sie darin enthalten sind! Ich weiß auch das DX 9 umgestaltet wurde, aber trotzdem noch jeden Befehl von Programmen die die mit DX <9 geschrieben wurden ausführen kann. Wäre ja schlim wenn das nicht so wäre !
Und deswegen bin ich der Meinung das ein Zeichnen über die alten Schnittstellen von DX 3 bis 7, die ja bekanntlich aus Kompatibilitätsgründen immer noch in den Headern enthalten sind (einfach reingucken wenn du das nicht glaubst), ein genauso schnelles Darstellen einer Bitmap ermöglicht als wenn ich das direkt über die DX 9 Schnittstellen machen würde.

Nonsense 4. Jan 2005 14:29

Re: 2D-Bitmap scrollen ???!!!
 
Das Zauberwort heißt OpenGL... :wink: :mrgreen:

Oxmyx 4. Jan 2005 23:37

Re: 2D-Bitmap scrollen ???!!!
 
Zitat:

Zitat von Ben1
Zitat:

DirectX9 benutzt keine einzige Direct7-Schnittstelle!
Das habe ich ja auch nie behauptet, ich sagte nur das sie darin enthalten sind! Ich weiß auch das DX 9 umgestaltet wurde, aber trotzdem noch jeden Befehl von Programmen die die mit DX <9 geschrieben wurden ausführen kann. Wäre ja schlim wenn das nicht so wäre !
Und deswegen bin ich der Meinung das ein Zeichnen über die alten Schnittstellen von DX 3 bis 7, die ja bekanntlich aus Kompatibilitätsgründen immer noch in den Headern enthalten sind (einfach reingucken wenn du das nicht glaubst), ein genauso schnelles Darstellen einer Bitmap ermöglicht als wenn ich das direkt über die DX 9 Schnittstellen machen würde.

Nein. DirectDraw ist nicht 3D-beschleunigt, bietet weniger Features und ist langsamer als Direct3D. Das wird dir jeder der sich mit Direct3D auskennt, bestätigen können. Glaub es, oder nicht. DirectX9 kann keine Programme ausführen, die mit DirectX7 geschrieben wurden. Richtig ist, dass durch die COM-Abwärtskompatibilität von DirectX noch die alten Schnittstellen enthalten sind, DX9 kann damit jedoch nichts mehr anfangen. Hab keine Zeit ein Testprogramm zu schreiben das den Geschwindigkeitsvorteil von Direct3D beweisen würde, aber es ist nunmal Fakt, dass DirectDraw nicht von den Fähigkeiten der Grafikkarte voll Gebrauch macht.

supermuckl 5. Jan 2005 01:02

Re: 2D-Bitmap scrollen ???!!!
 
Es wird ja auch bei DirectDraw die 2D Hardware Beschleunigung verwendet und nicht wie bei Direct3D der 3D Teil der GPU

chkdsk 6. Jan 2005 19:04

Re: 2D-Bitmap scrollen ???!!!
 
Zitat:

DirectX9 kann keine Programme ausführen, die mit DirectX7 geschrieben wurden. Richtig ist, dass durch die COM-Abwärtskompatibilität von DirectX noch die alten Schnittstellen enthalten sind, DX9 kann damit jedoch nichts mehr anfangen.
Aber alte DirectX Titel mit DirectDraw laufen doch nach wie vor unter DirectX 9!

Ich wollte sowieso nacher noch Commandos ausgraben und spielen, aber ich bin mir sicher, dass es geht!


Übrigens: Wozu überhaupt DirectX, oder OpenGL (was noch weniger von den Treibern her unterstützt wird) einsetzen?

Für einfache 2D Grafik sachen kann man wunderbar z.B. Graphics32 in Delphi einsetzen.

supermuckl 6. Jan 2005 19:07

Re: 2D-Bitmap scrollen ???!!!
 
das was er machen will, sind aber keine einfachen 2D sachen, die keine hardwarebeschleunigung erfordern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 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