Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#48

AW: FMX = Spiele-Engine in schlecht?

  Alt 16. Jan 2014, 09:23
Ich habe das gestern noch etwas umgebaut:

Das Formular wird jetzt im Mainthread fortlaufend aktualisiert - mehr passiert dort nicht mehr.

Die "Businesslogik" (die vorliegend nur die Positionen der "Panels" neu berechnet) ist jetzt in einem Objekt gekapselt und läuft in einem eigenen Thread.

Die VCL-Controls senden nur "Anweisungen" an die Buisinesslogik (BL), z.B. wird dort der Wert für Sleep geändert, der die Geschwindigkeit der BL regelt.

Insofern erfolgt die Neuzeichnung des Formulars ständig gleich schnell und die Geschwindigkeit der sichtbaren Verschiebungen hängt nur vom Ablauf der Neuberechnungen in der BL ab (also vom Sleep-Wert).

Wenn man Sleep runter regelt sieht man, wie fix die Änderungen erfolgen können. Es ist dabei schon ein Unterschied zwischen meinem privaten (schnellen) und meinem dienstlichen (langsamer) Rechner zu sehen.

Das Ganze ist noch nicht der Weisheit letzter Schluss, aber die Grundausrichtung finde ich nicht schlecht.

Letztlich will ich zu einer Lösung komplett ohne VCL (also ohne Bitmaps und Canvas) kommen. Offenbar führt die VCL zu verschiedenen Problemen wenn die Anzahl der Zeichenaktionen zu iel wird.

Z.B. habe ich einen kleinen "AniIndicator" gebaut, der sich fortlaufend neu zeichnet. Dabei zerhaut irgend etwas die Bitmaps. Offenbar verkraftet die VCL die Überbelastung nicht bzw. kommt dann mit der Formularsyncronisation nicht klar.

Der Grundgedanke der Komponentenzeichnung im Hintergrund und des späteren Zusammenbaus des Formulars mit den fertigen Bausteinen gefällt mir aber. Ich werde mich wohl mal mit OpenGL befassen (müssen).

Falls wer das Thema reizvoll findet und mitrödeln will... sehr gern! Einfach melden!
Angehängte Dateien
Dateityp: zip GUITest.zip (3,03 MB, 19x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat