Сохранен 16
https://2ch.hk/gd/res/755088.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Двач, это какой-то пиздец. Я пишу игру для tgw на

 Аноним 18/07/21 Вск 15:08:12 #1 №755088 
image.png
image.png
Двач, это какой-то пиздец. Я пишу игру для tgw на С++ с библиотекой SFML, и блять использую таймер (sf::Clock) для определения дельты (времени, прошедшего между двумя отрисовками кадра). Nvidia Shadowplay показывает что у меня 2000 ФПС, я и сам вижу что ФПС дохуя, но когда вывожу в консоль дельту, пишет числа, близкие к 0,5 (то есть как будто у меня 2 ФПС). И от значения этой дельты зависит дохуя важных вещей. Например, для того чтобы персонаж двигался с одной скоростью независимо от ФПС, дельта (кстати float, который хранит время в секундах) умножается на скорость персонажа в пикселях/сек. В общем скрины говнокода и результаты прилагаются. Жду помощи от добрых анонов
Аноним 18/07/21 Вск 15:08:40 #2 №755089 
Бамп
Аноним 18/07/21 Вск 15:09:02 #3 №755090 
Бамп
Аноним 18/07/21 Вск 15:09:23 #4 №755091 
Бамп
Аноним 18/07/21 Вск 15:09:42 #5 №755092 
Бамп
Аноним 18/07/21 Вск 15:10:14 #6 №755093 
Бамп
Аноним 18/07/21 Вск 15:10:46 #7 №755094 
Бамп
Аноним 18/07/21 Вск 15:11:09 #8 №755095 
Бамп
Аноним 18/07/21 Вск 15:13:36 #9 №755096 
Бамп
Аноним 18/07/21 Вск 15:28:42 #10 №755099 
судя по скрину, у тебя дельта всегда одна и та же. в принципе такое может быть, но уж слишком подозрительно, как будто таймер нихуя не обновляется. я давно не прогал на крестах, но зачем ты сделал таймер static? попробуй убрать эту хуйню, посмотрим что будет.
Аноним 18/07/21 Вск 15:31:24 #11 №755100 
>>755099
Бля, даже не подумал. Просто хотел чтобы новая переменная не создавалась на каждой итерации и под нее не выделялась память. Типо оптимизация
Аноним 18/07/21 Вск 15:32:48 #12 №755101 
image.png
>>755099
Ураааа спасибо анон, всё работает как надо
Аноним 18/07/21 Вск 15:39:53 #13 №755103 
>>755101
рад был помочь
кстати, я как понял ты хочешь динамических таймстеп. таймстеп лучше делать фиксированным, что бы избежать всяких багов с очень мелкими значениями (или наоборот, слишком большими значениями при лагах). обычно за таймстеп берут 1/герцовка экрана. если интересно, советую прочитать статью-две по теме, вроде https://www.gameprogrammingpatterns.com/game-loop.html
Аноним 18/07/21 Вск 15:56:40 #14 №755106 
>>755103
уже менять не буду, 2 недели всего на разработку, но спасибо за статью, сегодня почитаю
Аноним 18/07/21 Вск 16:01:20 #15 №755107 
>>755106
для простого варианта, там нехуй менять. просто вставь либо свой делэй, либо тупа сделай https://www.sfml-dev.org/documentation/2.5.1/classsf_1_1Window.php#af4322d315baf93405bf0d5087ad5e784
sf::Window::setFramerateLimit
->
window.setFramerateLimit(60)
Аноним 16/09/21 Чтв 10:04:30 #16 №769764 
>>755100
Так что б она не создавалась на каждой итерации, объявить нужно было её перед циклом, а значение присваивать каждый проход уже в нём
comments powered by Disqus

Отзывы и предложения