TTimer mit Performance Problemen?
-
Hi Leute,
Ich programmiere gerade ein Spiel. Der Anfang ist eigentlich recht simpel und ohne große Kunst. Der Hintergrund besteht aus zwei Bildern die doppelt so breit ist wie der Bildschirm.
Das Hinterste Bild wird über einen Timer langsam bewegt, kurz bevor er am anderen Ende angekommen ist springt er wieder zur ausgangspos zurück.
Das zweite wird Transparent darübergelegt und wird mit dem selben Timer etwas schneller bewegt.DoubleBuffering ist eingeschaltet. Wenn ich nun versuche die Timerintervalle zu ändern (zwischen 200 und 50 ms) so laufen die Hintergründe gleich schnell. Woran liegt das.
Wenn ich DoubleBuffering ausschalte läuft die Anwendung schneller, allerdings stellt sich dann auch ein fürchterlicher Flimmereffekt ein.
Meine Fragen sind, wovon ist es abhängig wie viel Resourcen das DoubleBuffering benötigt, und wie kann ich den Timer schneller machen?
-
naja teilweise ist die Double Buffer funktion auch etwas buggy ! Wenn du das manuell machst gehts um einiges einfacher.
Double Buffer = 2 Objekte
1 Objekt --> visible
du änderst was im programm z.B. durch pfeiltaste --> sendet an 2Objekt das invisible ist !
2 Objekt --> visible und 1 Objekt invisible ...somit musst du das ... angezeigte nicht ..neuzeichnen und es flimmert nicht !
eigentlich einfach ...
-
Wird dadurch die Anwendung auch schneller?
Die vordere Datei ist eine BMP - Datei und dadurch sehr groß (um die 1,5 MB). Wenn mir eventuell einer sagen könnte wie ich auch JPG Dateien transparent bekommt wäre eventuell eine Problemquelle weniger vorhanden.
Aber das Hauptproblem is immer noch der Timer.
-
Der normale Timer ist nicht allzu genau. Ob es daran liegt, weiss ich zwar nicht, aber probier doch mal den Timer von WebFritzi:
[url] www.WebFritzi.de.vu [/url]Vielleicht hilft das?
Nebenbei, wäre für Dein Spiel nicht DirectX besser?
Bibo