forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Ограничение FPS (http://forum.boolean.name/showthread.php?t=18581)

FREE MAN 29.09.2013 20:29

Ограничение FPS
 
Всем привет! Всю жизнь пользуюсь CreateTimer (75) для ограничения FPS, на мощных компах проблем нет, а на слабеньком железе игра начинает идти слишком медленно. Как сделать нормальный стабильный FPS везде. Рыскал везде но таки не нашел чёткого нормального ответа на данный вопрос. Если есть у кого нибудь пример дайте пажалуйста:@.

Randomize 29.09.2013 21:14

Ответ: Ограничение FPS
 
PHP код:

Const FPS=60
period
=1000/FPS 
time
=MilliSecs()-period
Repeat
     Repeat
          elapsed
=MilliSecs()-time
     Until elapsed
     ticks
=elapsed/period
     tween
#=Float(elapsed Mod period)/Float(period)
     
For k=1 To ticks
          time
=time+period
          
          
Тут только логика 
          
If KeyHit(1Then End

          UpdateWorld
()
     
Next
     
     
Тени кубемапы тут

     RenderWorld
     
2D Отрисовка
     Flip 0
Forever 


FREE MAN 29.09.2013 22:21

Ответ: Ограничение FPS
 
Цитата:

Сообщение от Randomize (Сообщение 267832)
PHP код:

Const FPS=60
period
=1000/FPS 
time
=MilliSecs()-period
Repeat
     Repeat
          elapsed
=MilliSecs()-time
     Until elapsed
     ticks
=elapsed/period
     tween
#=Float(elapsed Mod period)/Float(period)
     
For k=1 To ticks
          time
=time+period
          
          
Тут только логика 
          
If KeyHit(1Then End

          UpdateWorld
()
     
Next
     
     
Тени кубемапы тут

     RenderWorld
     
2D Отрисовка
     Flip 0
Forever 


спасибо за пример.
Но немного картинка дёргается, печаль...

DStalk 30.09.2013 12:38

Ответ: Ограничение FPS
 
Может дело в том, что надо писать xRenderWorld(tween) - у меня не дергается...

FREE MAN 30.09.2013 19:46

Ответ: Ограничение FPS
 
Цитата:

Сообщение от Dstalk (Сообщение 267877)
Может дело в том, что надо писать xRenderWorld(tween) - у меня не дергается...

Я так и пишу xRenderWorld(tween,shadows)

FREE MAN 30.09.2013 20:13

Ответ: Ограничение FPS
 
Код:

Const FPS=60
period=1000/FPS
time=MilliSecs()-period
Repeat
    Repeat
          elapsed=MilliSecs()-time
    Until elapsed
    ticks=elapsed/period
    tween#=Float(elapsed Mod period)/Float(period)
    For k=1 To ticks
          time=time+period
          xCaptureWorld
          ; Тут только логика
          If KeyHit(1) Then End

          UpdateWorld()
    Next
   
    ; Тени кубемапы тут

    RenderWorld
    ; 2D Отрисовка
    Flip 0
Forever

Вставил еще xCaptureWorld
теперь всё путем!


Часовой пояс GMT +4, время: 12:23.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot