DirectX - Das Problemkind!? Probleme beim Befüllen des Backpuffers

Rene42

Erfahrenes Mitglied
Hi Leute,

nachdem ich es nun geschafft habe, eine Anwendung zu erzeugen und Tastatureingaben abzufangen :D. Wollte ich einen Kreis auf das Formular zeichnen. Gesagt getan.

Code:
BackPuffer.DrawCircle(100,100,50)

Dies geschieht immer wenn ich die Taste "Pfeil Rechts" drücke. Nun wollte ich den Kreis verschieben, also ergänzte ich den Code zu folgendem:

Code:
x+=10
Backpuffer.ColorFill(Color.Red)
Backpuffer.DrawCircle(x,100,50)

Aber leider war es nicht so leicht. Wird die zweite Zeile aufgerufen tritt der Fehler auf, dass der Wert außerhalb des erwarteten Bereiches liege. Sehr merkwürdig, denn am Pogrammstart rufe ich nachdem alles initialisiert ist, als erstes auch genau die gleiche Zeile auf und da geht es. Hat jemand eine Vorstellung was hier nicht glattläuft?

Gruß Rene
 
HiLeute,

so nun nach dem Studium entlicher SEiten Dokumentation habe ich meinen Fehler gefunden, nach jedem Flip hatte ich die ich meinem Backpuffer, den aktuellen sichtbaren Pufer zugeordnet.

Nun bleibt noch ein Problem zu lösen und zwar, wenn mein Programm läuft flimmert es wie verrückt, als ob es alle paar Millisekunden geöffnet und geschlossen würde (nix für Epileptiker ;-)). Hat jemand eine Ahnung vorran das liegen könnte? Bin da ziemlich ratlos?

Meine GameLoop sieht folgendermaßen aus:
Code:
 Do While Run
            Render()
            Application.DoEvents()
        Loop

Das sollte, die Render Funktion ja nur dann aufrufen wenn irgendwas passiert ist oder?

Gruß Rene
 
Zurück