Ruckler bei Blitz 2D/3D

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

WEBLink

Betreff: Ruckler bei Blitz 2D/3D

BeitragFr, Jan 04, 2008 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gab ja schon einige Threats dazu.

Auch bei mir tritt das Problem auf das Objekte und Schriften die man Pixelmäßig bewegt (x = x + 1 und co) unschöne Ruckler aufweisen.
Natürlich bleiben die FPS konstant "64" wie mit einem Waittimer festgelegt.

Sobald ich die FPS auf 120 hochnehme treten die Ruckler nicht mehr auf aber das sind 60 FPS mehr als die, die das Auge benötigt um Bewegungen Flüßig wahrzunehmen.

Nun einiges was im Code enthalten ist.

EInige Counter die das neuspawnen von Objekten in verschiedenen Zeitabständen erlauen.
3-4 Types für das spawnen von mehreren Obejkten
Hier sollte ich erwähnen das diese Objekte irgendwie keine Sichtbaren ruckler aufweisen (diese Objekte haben noch eine eigene Animation).
keine Funktionen

Stark Ruckeln tuen Bilder die ich zum beispiel im hintergrund von links nach rechts laufen lasse.

-------------------

Vielleicht gibts es ja hinweise woran so was liegen kann oder was man bei tuen sollte ob so etwas zu vermeiden.

Danke schonmal für die Antworten

MfG

The_Nici

BeitragFr, Jan 04, 2008 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Folgende Lösungsvorschläge:

  • Debugger ausschalten
  • Keine Bilder/Modelle in der Schleife laden
  • Anstatt für jeden type ein Bild-Feld zu machen, das Bild mehrmals zeichnen
  • Immer gleichbleibende Variablen als Konstanten deklarieren


MfG

WEBLink

BeitragFr, Jan 04, 2008 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Diese Grund-Vorraussetzungen sind natürlich gegeben.
Auch wenn dies für bessere FPS raten sind. FPS bleibt konstant gleich !

dennoch danke für die Antwort

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Jan 04, 2008 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt daran, dass deine festgelegte 60 FPS nicht ganz genau mit dem Bildaufbau deines Bildschirmes hinhaut. Es laufen beide etwas asyncron. Eine absolute Syncronisation erreichst du mit Flip 1 und ohne WaitTimer, was aber wegen anderen Sachen absolut nicht zu empfehlen ist. Wenn du mal schaust, wirst du feststellen, das diese Ruckler auch bei fast allen komerziellen Spielen vorhanden ist. Man merkt dieses nur nicht so, da man selber nicht daran programmiert. Auch spielt hier der Hintergrund eine rolle. Bei einem Objekt auf schwarz fällt es eben mehr auf, als über ein Bildhintergrund.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

WEBLink

BeitragFr, Jan 04, 2008 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Das klingt interessant.

Würde es nicht gehen das man herrausfindet wie schnell sich der jeweilige Bildschirm aufbaut und darauf die FPS anpasst.

Das einzigste Problem das dann noch besteht ist das man überall Timer setzen muss Smile

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Jan 04, 2008 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
WaitTimer ist kein Problem, solange Flip 0 eingestellt ist. Das mit ''zuerst die FPS raus finden'' ist natürlich eine gute Idee, doch bestimmte Grafikkartentreiber lassen es überhaupt nicht zu, über Blitz sowas raus zu finden.

Mein Ansatz war mal gewesen:

Code: [AUSKLAPPEN]
Delay 1000
ms=MilliSecs()
While (MilliSecs()-ms)<3000
   fps=fps+1
   VWait
Wend
fps=fps/3


Print fps+" FPS"

WaitKey
End


Doch wie gesagt, wird selbst ql:VWait bei manchen Treibern einfach ignoriert. Bei Flip 1 ist es noch schlimmer. Am besten ist, man lässt den User eingeben, oder man macht ein paar Templates zur Auswahl.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group