Code: Alles auswählen
InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(800,600,32,"Test",#PB_Screen_SmartSynchronization) ;egal ob smart, wait oder no es ruckelt
CreateSprite(999,8,8)
StartDrawing(SpriteOutput(999))
Box(0,0,8,8,RGB(0,255,255))
StopDrawing()
LoadFont(123,"Impact",28)
FPS = 30
TimerDuration = 1000 / FPS
Repeat
; ** Zeit zu beginn des Schleifendurchlaufs rückspeichern
timer = ElapsedMilliseconds()
; **
ExamineKeyboard()
ExamineMouse()
ClearScreen(RGB(50,100,200))
StartDrawing(ScreenOutput())
DrawingFont(FontID(123))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(100,50,"text text text text text")
DrawText(100,100,"text text text text text")
DrawText(100,150,"text text text text text")
DrawText(100,200,"text text text text text")
DrawText(100,250,"text text text text text")
DrawText(100,300,"text text text text text")
DrawText(100,350,"text text text text text")
DrawText(100,400,"text text text text text")
DrawText(100,450,"text text text text text")
DrawText(100,500,"text text text text text")
StopDrawing()
DisplaySprite(999,MouseX(),MouseY())
; ** Aktuelle Differenz zwischen Soll-Zeit ( TimerDuration )
; ** und tatsächlich verstrichener Zeit ermitteln
TimeGap = TimerDuration - (ElapsedMilliseconds() - Timer)
; ** wenn die größer ist als 16 ms, per Delay warten
If TimeGap > 16
; ** ein bißchen weniger warten, Luft lassen
Delay( TimeGap - 10 )
EndIf
; ** den Rest des Wartens überlassen wir FlipBuffers
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
End
Code: Alles auswählen
OpenScreen(800,600,32,"Test",#PB_Screen_NoSynchronization)
SetFrameRate(60)