Вниз  Общие вопросы
- 11.08.2017 / 09:43
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
aNNiMON, я б не стал дробить логику на раздельные процессы с привязкой к реальному времени - чревато рассинхронизацией. На разных машинах логика обрабатывается с разной скоростью.

Вова, с чего это у тебя должен сильно просесть FPS? У тебя Pentium I или ещё хуже? Сложить два числа - это пара тактов процессора. Знаешь сколько процессор может таких тактов сделать за секунду? Посмотри на частоту своего процессора. Ну, и прибавь немножко на работу с памятью.
__________________
 don't tread on me

Изменено aRiGaTo (11.08 / 09:44) (всего 1 раз)
- 11.08.2017 / 10:01
Death
  Пользователь

Death 
Сейчас: Offline
Цитата aRiGaTo:
Вова, с чего это у тебя должен сильно
просесть FPS? У тебя Pentium I или ещё
хуже? Сложить два числа - это пара
тактов процессора.
Intel(R) Celeron(R) CPU N2840 @ 2.16GHz

:gg:



Генерация случайного числа - разве это не самая долгая задача из математических? Если есть дольше - приведи пример. :)
__________________
 Смерть правит миром

Изменено Death (11.08 / 10:03) (всего 2 раза)
- 11.08.2017 / 10:29
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
Death, во-первых, я малость неправильно прочитал твоё сообщение - почему-то решил, что речь о таймере, а не случайных числах.
Но это особо ничего не меняет. Генерация ПСЧ - это всего-то пара циклов да арифметических операций.

Во-вторых, преждевременная оптимизация - это не очень хорошо.
-
И, да, какие-нибудь стохастические вычислительные методы куда медленнее генерации ПСЧ. Ну, или, из полезного для тебя, алгоритмы поиска путей.
__________________
 don't tread on me
- 11.08.2017 / 11:39
Death
  Пользователь

Death 
Сейчас: Offline
aRiGaTo, Ну 100 случаныйх в тик, то есть 6000 сгенерированых в секунду, логика других объектов по всему миру, просидать фпс будет сильно.
У меня такая идея:
Сделать поток демон на низком приоритете и каждые 5сек будет генерировать члучайное число и записывать в static переменную, а когда блок обновляется, то проверяет число, если меньше n, то найти рядом блок свободный для роста и если нашёл, то он зарастает травой и эту переменную сгенерирует новым значением.

:ps: Быдло-кодерство)
__________________
 Смерть правит миром
- 11.08.2017 / 11:52
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
а зачем ты там генеришь так много случайных? если у тебя 100 свободных блоков и их надо засадить травой, то случайных будет 100
__________________
 знает толк
- 11.08.2017 / 11:55
Death
  Пользователь

Death 
Сейчас: Offline
vl@volk, каждый блок с травой проверить, есть ли рядом земля, над которой пусто, которую нужно засадить. А ещё и проверять саму траву, если есть сверху блок, то превратиться в землю.
__________________
 Смерть правит миром
- 11.08.2017 / 12:16
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
Death, a рандом то зачем?
- 11.08.2017 / 12:30
Death
  Пользователь

Death 
Сейчас: Offline
Alexandr, aNNiMON, Я тут думаю... Вот сделать когда рисуется блок травы, то вызывать метод update блока, а блок травы сам сделан классом отдельным, то есть там, проверять время, но, на экране примерно может быть 100-200 кубов.
Тем более каждый - это ссылка на один объект.
Значит, нужно сделать проверку, не зависимо от объекта самого. Значит будем брать случайное число от 0 до 100 и если оно меньше 5, то ищем рядом свободный блок для зарастания. Только... 100 чисел за тик генерировать -
это просядит ФПС сильно.

__________________
 Смерть правит миром
- 11.08.2017 / 14:01
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Цитата aRiGaTo:
я б не стал дробить логику на раздельные процессы с привязкой к реальному времени - чревато рассинхронизацией
В том и дело, что она тут роли не играет. Если действие нужно выполнить раз в полминуты, да и при том такое простое, как инкрементировать счетчик кадра анимации у травы, то это куда лучше, чем лишняя проверка на каждом игровом такте.
__________________
 let live
- 11.08.2017 / 14:18
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
aNNiMON, Да как не играет-то? Событие, которое должно произойти через 30 секунд, может произойти в следующем кадре.
Анимация травы - это не логика.
__________________
 don't tread on me

Изменено aRiGaTo (11.08 / 14:20) (всего 1 раз)
Наверх  Всего сообщений: 1673
Фильтровать сообщения
Поиск по теме
Файлы топика (38)