Vollbildmodus 1 flackert, Fenstermodus 2 flackert nicht

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Snowball

Betreff: Vollbildmodus 1 flackert, Fenstermodus 2 flackert nicht

BeitragMi, März 02, 2005 1:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab beim Beginnerwettbewerb mitgemacht und mein Tweetyprog mit blitz3d demo geschrieben. Da lief alles Bestens. Hab mir jetzt aber Blitzplus gekauft und da flimmert die Lebensanzeige im Vollbildmodus (graphics 640,480,16,1) über die ganze Bildschirmzeile. Beim Fenster Modus (640,480,16,2) allerdings läuft alles glatt. Hab bereits das neuste Update drüber installiert, da waittimer in der alten BlitzPlusversion sonst eh auch nicht laufen würde *grummel*.
Hab mal hier im Forum gesucht und bloß mal nen Beitrag gefunden, der besagt, dass man Modus 2 verwenden soll, da nicht alles Grafikkarten mit 1 funktionieren. Hat es bei mir aber zumindest bei der Blitz3Ddemo.....
und ich will mein spiel eigentlich in vollbild behalten...
Weiss jemand rat? Danke Shocked

Hier ist noch der Code:

Code: [AUSKLAPPEN]

Graphics 640,480,16,1
SetBuffer BackBuffer()
Include "globals.bb"
Include "kollision.bb"
Include "spieler_bewegung.bb"
Include "dojump.bb"
Include "hintergrund.bb"
Include "sylvester.bb"

;Anfangsscreen
Repeat
DrawImage start,0,0
Flip
Until KeyHit(28)

;kartendaten lesen                   
Dim map (20,15)         ; Feld mit den Dimensionen 20 * 15, da 640/32=20 und 480/32=15
Restore mapdata         ; Informationen in mapdata werden reseted
For y=0 To 14           ; und direkt wieder eingelesen
     For x=0 To 19
        Read map(x,y)
     Next
Next

;hauptschleife
Cls
Repeat
WaitTimer(frametimer)   
If Lives = -1 Then ; sollte kein Leben vorhanden sein
   Cls
    DrawImage level1,0,0   
   If KeyHit(28) Then   ;Sobald die Taste F1 gedrückt wird
      Lives = 3         ;Lebenszahl auf 3 erhöhen
      score = 0
      Cls          ;Punkte zurücksetzen
   EndIf
   
ElseIf Lives > -1 Then   ;Sobald Punkte höher als -1 ist
   Cls
   If Start = 0 Then    ;Um die Leveldaten neu einzulesen, habe ich eine neue Function erstellt
      Start = 1         ;Diese kann man später erweitern um mehrere Level zu erstellen.
      SetupLevel()
   EndIf
hintergrund()
lebensanzeige()
   frau()
   eule()
   kollision()
   drawmap()           ;Funktion "drawmap" wird ausgeführt
   zeit()
   bewegespieler()
   dojump()
   spieler_fliegen()
   drawplayer()
   draw_sylvester()
   schiessen()
   move_sylvester()
   ende()
EndIf
Flip                   
Until KeyHit(1)
End
Stomping Feet Productions

DivineDominion

BeitragMi, März 02, 2005 10:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Einmal CLS am Anfang der Mainloop reicht eigentlich vollkommen. Alles andere verlangsamt nur, flackern dürfte es deshalb nicht. BlitzPlus setzt übrigens automatisch den Backbuffer, daran sollte es aber auch nicht liegen Smile
Aber weil du schon so oft Cls nutzt, kann es ja auch ebensogut sein, dass du irgendwo in einer Funktion noch mal Flipst. Trifft das vielleicht zu?

Strukturiere dein Programm so, dass du nur ein Flip brauchst - male in einer Malfunktion alles was benötigt wird.
christian.tietze@gmail.com - https://christiantietze.de
macOS

Rob_

BeitragMi, März 02, 2005 13:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Und versuch auch nur eine schleife in dein programm ein zubinden, sonst ist das schon gut gecodet als anfänger, nur halt noch etwas spagethicode, aber das wird schon, lernen lernen lernen.
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Snowball

BeitragMi, März 02, 2005 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
mhmm, Danke für die Tips! Smile Aber das Problem konnte ich leider immer noch nicht lokalisieren. Hab kein weiteres Flip verwendet, aber cls hab ich ein paar rausgenommen Wink Ich werde das Programm auch mal auf eine Schleife reduzíeren. Dürfte ja kein Problem sein. Ist schon komisch, dass was im Fenstermodus anders läuft, als im Vollbild. Schliesslich sollte man meinen, dass die modi nun wirklich nichts mit der Lebensanzeige zutun haben Wink Naja, alles halb so schlimm. Das Spiel macht sich auch im Fenstermodus ganz gut, oder ich programmiere die Lebensanzeige nochmal neu.
Stomping Feet Productions

soli

BeitragMi, März 02, 2005 20:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Das erste cls steht vor der Hauptschleife,
dort macht es eigenlich wenig Sinn.

Und ich kann leider nicht sehen ob in
deinen includes noch cls oder flip sind.
solitaire

DivineDominion

BeitragMi, März 02, 2005 23:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann dir dann nur den tipp geben, nacheinander die Aufrufe einzelner drawXYZ-funktionen auszukommentieren bis es aufhört zu flimmern. Wenn es dann soweit ist, kannst du den Fehler ja besser lokalisieren Smile

Vielleicht hast du auch VSync bei deiner Grafikkarte aus? Wieviel FPS hast du? Werte von 400 oder so deuten eindeutig darauf hin, weil die FPS bei einer Vertikalen Synchonisation der Hertzzahl deines Monitors entsprechen, z.b. 60, 85, 100 oder gar 120 wenn dein Monitor gut ist.
Flip 0 bzw ausgeschaltetes VSync kann zu Flimmern führen, weil eben immer sofort drauflos gemalt wird, egal ob der Lichtpunkt deines Monitors schon fertig ist oder nicht. Wenn du also einmal alles durchmalst, dein Monitor noch bei der Hälfte beim Anzeigen ist und du wieder malst, ist die utnere Hälfte anders als die obere - logisch, oder? Smile
christian.tietze@gmail.com - https://christiantietze.de
macOS

Snowball

BeitragDo, März 03, 2005 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
In den includes gibts auch keine flips Smile Mein Monitor steht auf 60 Hertz, kann ihn aber noch auf 75 hochstellen. Vsync und FPS weiss ich nicht wie zu ermitteln Wink
Stomping Feet Productions
 

D²O

BeitragDo, März 03, 2005 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
lade doch mal das ganze, Code und Resourcen, hoch.
Dann kann man Dir besser helfen.
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK;

BladeRunner

Moderator

BeitragDo, März 03, 2005 16:18
Antworten mit Zitat
Benutzer-Profile anzeigen
vermute ein treiberproblem. hast du die neuste treibergeneration drauf? die macht nämlich gern probleme.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Snowball

BeitragDo, März 03, 2005 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab die dateien mal hochgeladen, falls sich es jemand mal anschauen will.
[url]free.pages.at/demuth/dateien/tweety.zip[/url]
In der tweety.bb ist die hauptschleife enthalten.

Grafiktreiber hab ich eigentlich noch nie geupdated, sofern dass nicht passiert, wenn man windows xp updated. Der PC ist von 2003, also auch noch nicht allzu alt. Grafikkarte ist die RADEON Family 9000
Stomping Feet Productions

Waveblue

BeitragFr, März 04, 2005 0:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir flackert im Fenstermodus und im Vollbildmodus
absolut gar nichts! Confused
This is 10% luck
20% skill
15% concentrated power of will
5% pleasure, 50% pain
and 100% reason to remember the name

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group