![]() |
Fragen zu Canvas und DirectX
Moin zusammen ;)
also folgendes: Wir sind ein Unternehmen und programmieren nun schon seid JAHREN in Delphi ( vorher TuboPascal :) ) Wir haben über die GDI / Canvas ein komplexes CAE- System entwickelt (besser als CAD :)), und das ganze funktioniert nur auf der GDI/Canvas Basis. Unser System ist verdammt schnell (Dank Delphi). Nun stehen wir aber vor einem Entscheidungsproblem: 1. Wir müssen unser System langsam aber sicher von reinem 2D auf 3D ergänzen, und da stellt sich die Frage ob Directx zusätzlich in einem Canvas/ TForm mit platziert weren kann ( zuerst 2D - später 3D ). 2. Ist Directx genauso schnell wie Canvas :mrgreen: ( mehr als 32000 Elemente in 4sec. aufgebaut und das bei einem alten Pentium II 350 MHZ mit 128 MB Hauptspeicher ) :hello: 3. Wenn 1. nicht funktioniert ist die Frage: Wie lange/schwer ist es Directx 2D zu programmieren ? 4. Gibt es eigentlich GUTE VCL Komponente für Directx ? 5. Oder sollte mann OpenGL nehmen ?? Gruss und bis danne db |
Re: Fragen zu Canvas und DirectX
Zu 2: Davon ist mal auszugehen, schließlich wird DIrectX in Spielen verwendet, die brauchen solche Geschwindigkeiten.
Zu 4: Ich habe gehört, es gäbe eine Delphi-Übersetzung für eine *etwas* ältere DX-Version. Zu 5: Ich weiss nicht genau wo, aber im Netz gibt es gute OpenGL-Komponenten. Zu allem: Vielleicht gibt die Forensuche noch was her. |
Re: Fragen zu Canvas und DirectX
Delphi und die VCL basieren auf dem GDI, DirectX ist davon *komplett* getrennt.
Man muss also die Komponenten umschreiben. Man kann aber DirectX in einem Fenster betreiben, also muss man nur die zu beschleunigenden Komponenten aendern. DirectX ist betraechtlich schneller als Canvas. Genau dafuer wurde es ja entwickelt. Die DirectX-Konversion fuer Delphi ist auf DX 9 Level. OpenGL sollte man nehmen wenn es auf Plattformunabhaengigkeit ankommt. |
Re: Fragen zu Canvas und DirectX
Moin :)
Danke für die Antworten... habe aber noch ein paar Fragen: Zitat:
1. Kann ich Canvas/GDI und Directx in ein und den selben Fenster zeichnen (TForm) ?? 2. Ab welcher Version von Delphi ist eine gute Unterstützung für Directx verfügbar ?? (Unser CAD/CAE Modul wird immer noch in Delphi 4 entwickelt :) ) 3. Gibt es irgend wo Tutorials oder Informationsmaterial für Directx 2D ( 3D ohne Ende :( ) ? Gruss db |
Re: Fragen zu Canvas und DirectX
Hallo,
ich hoffe mal du erwartest nicht, das directX so leicht zu programmieren ist wie GDI unter Delphi. Aber du kannst dir ja mal ein paar resourcen anschauen: Die COM header: ![]() Die neue delphi directX community: ![]() Info seite von Martin Payka, der auch ein gutes buch über directX 9 mit delphi geschrieben hat: ![]() und turbo lebt auch wieder: ![]() Ist sicher nicht vollständig, aber ein anfang. Eine interessante frage wäre aber, wie zukunftsträchtig es ist, mit der normalen COM implementation von directX zu arbeiten, wo es jetzt ja auch managed DX (.Net) gibt, das keinerlei spachspezifische header mehr benötigt. Nicht zu vergessen die 'Windows Graphics Foundation' (WGF), die in zukunft ( >=longhorn) die GDI ersetzen wird und von natur aus 3D können wird. Bis das aber nutzbar ist, wird es sicher noch dauern. Ich will dir auch nicht davon abraten (mach es ja schliesslich selbst), nur aufzeigen das da einiges im umbruch ist, was aus professioneller sicht problematischer ist :wink: PS: DirectX hat keine natürliche auslegung für 2D, aber die ganzen 3D sachen kann man ja auch ohne die dritte dimension nutzen. Standard sachen wie kreise, linien etc. zeichnen muss man selbst implementieren, oder nach geeigneten bibliotheken suchen :stupid: PPS: Es gibt da aber ein 2D linien interface (ID3DXLine9 oder so), das recht praktisch ist, is nur'n bisschen lahm (aber bestimmt schneller als GDI). Sowas dürfte für CAD sachen ja wichtig sein. |
Re: Fragen zu Canvas und DirectX
Ich habe hier unter OS mal eine nette Kapselung für DX gesehen. *such*
*gefunden* :) ![]() schmorbraten hat auch gleich einen ![]() Sieht sehr interessant aus (auch wenn's nur DX8 ist, ist es sicher um ein Vielfaches schneller als GDI ;) ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr. |
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