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

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

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

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

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

Всем привет! Всю жизнь пользуюсь CreateTimer (75) для ограничения FPS, на мощных компах проблем нет, а на слабеньком железе игра начинает идти слишком медленно. Как сделать нормальный стабильный FPS везде. Рыскал везде но таки не нашел чёткого нормального ответа на данный вопрос. Если есть у кого нибудь пример дайте пажалуйста.
(Offline)
 
Ответить с цитированием
Старый 29.09.2013, 21:14   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: Ограничение 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? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
Colossus (01.10.2013), FREE MAN (29.09.2013)
Старый 29.09.2013, 22:21   #3
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений
(для 565 пользователей)
Ответ: Ограничение 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, 12:38   #4
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений
(для 1,072 пользователей)
Ответ: Ограничение FPS

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

Сообщение от Dstalk Посмотреть сообщение
Может дело в том, что надо писать xRenderWorld(tween) - у меня не дергается...
Я так и пишу xRenderWorld(tween,shadows)
(Offline)
 
Ответить с цитированием
Старый 30.09.2013, 20:13   #6
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений
(для 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
          xCaptureWorld
          ; Тут только логика 
          If KeyHit(1) Then End

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

     RenderWorld
     ; 2D Отрисовка
     Flip 0
Forever
Вставил еще xCaptureWorld
теперь всё путем!
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо FREE MAN за это полезное сообщение:
Arton (14.10.2013), Colossus (01.10.2013), tirarex (30.09.2013), und3rgr0und (29.01.2014)
Ответ


Опции темы

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

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


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


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