Четверг, 02 Мая 2024, 20:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Игровой цикл. (Есть пара вопросов.)
Игровой цикл.
ZweifxДата: Пятница, 16 Ноября 2012, 01:17 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте.

Хотел бы задать пару вопросов по игровому циклу, а именно как ограничить скорость игры, читал статьи, но так и не пришел к самому оптимальному решению.

Расскажу о проблемах с которыми столкнулся.
Делаю простенькую игру, пришел к тому что захотелось организовать определенную скорость игры, так как тестировать буду на разных компьютерах.
Без ограничений скорости игры, отрисовка и просчет шли параллельно и никаких затруднений не возникало, объект рисовался плавно на экране без каких либо резких перемещений. Далее сделал привязку к таймеру, ограничил fps до 30 кадров в секунду. Примерная реализация была такая:



Но с такой реализацией пропала плавность движения объекта, он будто застревает на долю секунду. Иначе говоря меня этот вариант не устроил.

Также делал отрисовку кадра не зависящей от скорости игры. Но объект не плавно двигался как и в первом варианте.

Можно ли каким-нибудь способом сделать движение объектов плавным как в случае без ограничений, и сделать отрисовку кадров не зависящей от этого процесса?


Если никто не знает, это то же самое, как если бы этого не было вовсе.
aallaДата: Пятница, 16 Ноября 2012, 02:12 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
сделай 60, вообще часто в движках используют vsync - вертикальная синхронизация, которая ограничивает фпс на любых компьютерах, устройствах конкретно на c++ пример не могу привести), могу привести с другого языка пример как это работает при включенном vsync, и при выключенном когда скорость игры начинает зависеть от конфигурации устройства, что не очень хорошо когда у меня комп тормоз, а другого он более мощьный.
вот наглядный пример работы включенного режима vsync , и выключенного в архиве 3 файла 2 exe и 1 файл sprite.png оба exe файла именуются соответствующим образом) link
сравни фпс, и загрузку процессора в обоих вариантах


Сообщение отредактировал aalla - Пятница, 16 Ноября 2012, 02:20
Форум игроделов » Программирование » C/C++ » Игровой цикл. (Есть пара вопросов.)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг