Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ist NonVCL etwa schneller als VCL ? (https://www.delphipraxis.net/68624-ist-nonvcl-etwa-schneller-als-vcl.html)

Corpsman 3. Mai 2006 10:52

Re: ist NonVCL etwa schneller als VCL ?
 
Liste der Anhänge anzeigen (Anzahl: 2)
So hier sind die Files, aber Compilieren dürftet ihr sie net können.

_Sebastian_ 3. Mai 2006 11:13

Re: ist NonVCL etwa schneller als VCL ?
 
Ansich spricht nichts dagegen das Rendern von Opengl im OnIdle Event zu erledigen. Du musst nur die Done Variable auf false setzten. Also mitteilen das du noch nicht fertig bist.

Auf Delphigl gibt es Vorlagen für Opengl Templates die mit der VCL umgesetzt sind.

Corpsman 3. Mai 2006 13:50

Re: ist NonVCL etwa schneller als VCL ?
 
Ich habe nu einen TDXTimer eingesetzt und drendere mit dem dann geht es auch recht gut.

Corpsman 3. Mai 2006 14:09

Re: ist NonVCL etwa schneller als VCL ?
 
@ : _Sebastian_

Ich habe grad mal zum Spass das Done:= false gesetzt. So ganz verstanden habe ich nicht warum ich das machen mus aber die Wirkung ist gigantisch.

THX jetzt ist es so wie ich das wollte.

Florian H 3. Mai 2006 14:33

Re: ist NonVCL etwa schneller als VCL ?
 
Afair meint done=true ja, dass die Schleife überhaupt erst noch weiter läuft, oder?
Wenn das nicht gesetzt ist, ist sie nach dem ersten Durchlauf fertig und dein 'ruckeln' sollte/dürfte eigentlich gar nicht auftreten, weil ja eh nur 1x gezeichnet wurde.. aber ich hab mir ehrlichgesagt den QT nicht angeschaut (ich bin tot. Infoklausur über Prolog .. ieks).

_Sebastian_ 3. Mai 2006 14:59

Re: ist NonVCL etwa schneller als VCL ?
 
Wenn du im OnIdle das done auf false setzt, dann hast du quasi ne endlosschleife, weil OnIdle sofort wieder aufgerufen wird. Wird done auf True gesetzt wird anschileßend die Windowsbotschaften etc ausgeführt.

Guck dir sonst mal in der Delphihilfe TApplication.OnIdle an.

Du solltest deinen code aber nochmal überprüfen was du wie kopiert hast. Hab das nur kurz überflogen, aber ich meine da zwei rendermethoden gefunden zu haben. Eigentlich kannst du alles zum rendern im OnIdle Event unterbringen.
Über das OnIDle kommst du auch einfacher mit der TApplicationEvents Komponente.

Die VCL hat auch für Spiele bzw. OpenGL programmierung ihre daseinsberechtigung, da man sich halt nicht groß um den nervigen kram wie fenster erstellung und benutzereingaben kümmern muss.


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