CreateTimer mit seltsamen Verhalten
Übersicht

walskiEhemaliger AdminBetreff: CreateTimer mit seltsamen Verhalten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
CreateTimer scheint bei Frequenzen über 500 nicht mehr zu differenzieren und immer pauschal 1.000 FPS zuzulassen.
Bei Frequenzen über 1.000 hängt das ganze Programm dann einfach nurnoch, ohne das !irgendetwas! passiert. Und das bei 1.600 FPS ohne den Timer. Beispiel: Code: [AUSKLAPPEN] Const screen_mode_fullscreen = 1 Const screen_mode_windowed = 2 Const screen_width = 800 Const screen_height = 600 Const screen_depth = 32 Const screen_mode = screen_mode_fullscreen Global fps_last_time Global fps_counter Global fps_fps Global fps_interval fps_interval = 100 Local timer timer = CreateTimer( 499 ) Graphics screen_width,screen_height,screen_depth,screen_mode SetBuffer BackBuffer() While Not KeyHit( 1 ) WaitTimer( timer ) handleFPS() Cls Text 1,1,fps_fps Flip 0 Wend Function handleFPS() Local tSecs tSecs = MilliSecs() If tSecs > fps_last_time + fps_interval Then fps_fps = Int( Float( fps_counter ) * ( 1000.0 / fps_interval ) ) fps_counter = 0 fps_last_time = tSecs Else fps_counter = fps_counter + 1 EndIf End Function Führt das mal aus und schaut auf die Frames... etwa bei 500. Ändert die Timer-Frequenz mal auf 501 und führt es erneut aus... etwa 1.000 ![]() Und jetzt ändert die Frequenz auf 1.100... ihr müsst das Programm danach per Taskmanager beenden! ![]() Erklärungen? walski |
||
buh! |
Kekskiller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ähm, also bei mir funktioniert der Timer maximal mit 60 Fps, sprich, volle
Millisekundenanzahl. Weiter drüber würde rein von Logik bie gehen ^^ ... Mit Ausnahme von Nanosekunden und dadrunter. |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
ist bei mir auch so...
aber wer braucht schon einen timer über 500 bps ??? [EDIT] Kekskiller: Mach mal den Vollbildmodus weg... |
||
walskiEhemaliger Admin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
![]() Manchmal ist es SEHR WOHL sinnvoll schneller zu berechnen als zu zeichnen, daher machen auch Timer weit über der Bidlwiederholrate eures Monitors Sinn! Und auch Timer über 500 machen theoretisch Sinn, es gilt eben nur ein entsprechendes Problem zu finden. Ich habe das ja nicht einfach so entdeckt, weil ich nichts zu tun hatte, mir ist es aufgefallen, als ich es einsetzen wollte. Und außerdem: WARUM geht es nicht? Das wäre ja mal ganz interessant zu erfahren um die Timer etwas mehr zu verstehen. walski |
||
buh! |
Kekskiller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Spikespine:
Eine Frechheit deinerseits, ich rede allgemein von Timern. |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit dem Timer hatte ich auch schon paar mal Probleme...
Wäre es nicht sinnvoller frameunabhängig zu programmieren so das der PC mit voller Leistung rechnen kann? Seit ich das begriffen habe (ist ja eigentlich auch ganz leicht) programmiere ich fast nur noch so, zumindest Spiele. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group