11.08.2017 / 09:43 | |
aRiGaTo Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| aNNiMON, я б не стал дробить логику на раздельные процессы с привязкой к реальному времени - чревато рассинхронизацией. На разных машинах логика обрабатывается с разной скоростью.
Вова, с чего это у тебя должен сильно просесть FPS? У тебя Pentium I или ещё хуже? Сложить два числа - это пара тактов процессора. Знаешь сколько процессор может таких тактов сделать за секунду? Посмотри на частоту своего процессора. Ну, и прибавь немножко на работу с памятью.
__________________
don't tread on me Изменено aRiGaTo (11.08 / 09:44) (всего 1 раз) |
11.08.2017 / 10:01 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Цитата aRiGaTo: Вова, с чего это у тебя должен сильно просесть FPS? У тебя Pentium I или ещё хуже? Сложить два числа - это пара тактов процессора.Intel(R) Celeron(R) CPU N2840 @ 2.16GHz
Генерация случайного числа - разве это не самая долгая задача из математических? Если есть дольше - приведи пример. __________________
Смерть правит миром Изменено Death (11.08 / 10:03) (всего 2 раза) |
11.08.2017 / 10:29 | |
aRiGaTo Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| Death, во-первых, я малость неправильно прочитал твоё сообщение - почему-то решил, что речь о таймере, а не случайных числах. Но это особо ничего не меняет. Генерация ПСЧ - это всего-то пара циклов да арифметических операций.
Во-вторых, преждевременная оптимизация - это не очень хорошо. - И, да, какие-нибудь стохастические вычислительные методы куда медленнее генерации ПСЧ. Ну, или, из полезного для тебя, алгоритмы поиска путей.
__________________
don't tread on me |
11.08.2017 / 11:39 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| aRiGaTo, Ну 100 случаныйх в тик, то есть 6000 сгенерированых в секунду, логика других объектов по всему миру, просидать фпс будет сильно. У меня такая идея: Сделать поток демон на низком приоритете и каждые 5сек будет генерировать члучайное число и записывать в static переменную, а когда блок обновляется, то проверяет число, если меньше n, то найти рядом блок свободный для роста и если нашёл, то он зарастает травой и эту переменную сгенерирует новым значением. Быдло-кодерство) __________________
Смерть правит миром |
11.08.2017 / 11:52 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| а зачем ты там генеришь так много случайных? если у тебя 100 свободных блоков и их надо засадить травой, то случайных будет 100
__________________
знает толк |
11.08.2017 / 11:55 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| vl@volk, каждый блок с травой проверить, есть ли рядом земля, над которой пусто, которую нужно засадить. А ещё и проверять саму траву, если есть сверху блок, то превратиться в землю.
__________________
Смерть правит миром |
11.08.2017 / 12:16 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| Death, a рандом то зачем?
|
11.08.2017 / 12:30 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Alexandr, aNNiMON, Я тут думаю... Вот сделать когда рисуется блок травы, то вызывать метод update блока, а блок травы сам сделан классом отдельным, то есть там, проверять время, но, на экране примерно может быть 100-200 кубов. Тем более каждый - это ссылка на один объект. Значит, нужно сделать проверку, не зависимо от объекта самого. Значит будем брать случайное число от 0 до 100 и если оно меньше 5, то ищем рядом свободный блок для зарастания. Только... 100 чисел за тик генерировать - это просядит ФПС сильно.
__________________
Смерть правит миром |
11.08.2017 / 14:01 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Цитата aRiGaTo: я б не стал дробить логику на раздельные процессы с привязкой к реальному времени - чревато рассинхронизациейВ том и дело, что она тут роли не играет. Если действие нужно выполнить раз в полминуты, да и при том такое простое, как инкрементировать счетчик кадра анимации у травы, то это куда лучше, чем лишняя проверка на каждом игровом такте.
__________________
let live |
11.08.2017 / 14:18 | |
aRiGaTo Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| aNNiMON, Да как не играет-то? Событие, которое должно произойти через 30 секунд, может произойти в следующем кадре. Анимация травы - это не логика.
__________________
don't tread on me Изменено aRiGaTo (11.08 / 14:20) (всего 1 раз) |