Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 29.09.2013, 16:29   #1
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 394
Написано 171 полезных сообщений
(для 558 пользователей)
Ограничение FPS

Всем привет! Всю жизнь пользуюсь CreateTimer (75) для ограничения FPS, на мощных компах проблем нет, а на слабеньком железе игра начинает идти слишком медленно. Как сделать нормальный стабильный FPS везде. Рыскал везде но таки не нашел чёткого нормального ответа на данный вопрос. Если есть у кого нибудь пример дайте пажалуйста.
(Offline)
 
Ответить с цитированием
Старый 29.09.2013, 17:14   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,189
Написано 2,369 полезных сообщений
(для 6,565 пользователей)
Ответ: Ограничение 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
          
          
Тут только логика 
          
If KeyHit(1Then End

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

     RenderWorld
     
2D Отрисовка
     Flip 0
Forever 
__________________
Retry, Abort, Ignore? █
AMD Ryzen 7 3800X 4.3Ghz; 64Gb ram; Nvidia Geforce 1070Ti
AMD Ryzen 7 1700X x8 3.4Ghz; Radeon RX 570
AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
Colossus (30.09.2013), FREE MAN (29.09.2013)
Старый 29.09.2013, 18:21   #3
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 394
Написано 171 полезных сообщений
(для 558 пользователей)
Ответ: Ограничение FPS

Сообщение от Randomize Посмотреть сообщение
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 
спасибо за пример.
Но немного картинка дёргается, печаль...
(Offline)
 
Ответить с цитированием
Старый 30.09.2013, 08:38   #4
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 26.06.2009
Адрес: Рязань-Москва
Сообщений: 470
Написано 400 полезных сообщений
(для 1,069 пользователей)
Ответ: Ограничение FPS

Может дело в том, что надо писать xRenderWorld(tween) - у меня не дергается...
__________________
galaxies.su | dstalk.ru
(Offline)
 
Ответить с цитированием
Старый 30.09.2013, 15:46   #5
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 394
Написано 171 полезных сообщений
(для 558 пользователей)
Ответ: Ограничение FPS

Сообщение от Dstalk Посмотреть сообщение
Может дело в том, что надо писать xRenderWorld(tween) - у меня не дергается...
Я так и пишу xRenderWorld(tween,shadows)
(Offline)
 
Ответить с цитированием
Старый 30.09.2013, 16:13   #6
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 394
Написано 171 полезных сообщений
(для 558 пользователей)
Ответ: Ограничение 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
теперь всё путем!
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо FREE MAN за это полезное сообщение:
Arton (14.10.2013), Colossus (30.09.2013), tirarex (30.09.2013), und3rgr0und (29.01.2014)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 06:40.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com