Форум

* костяк JS проекта, помогите с выбором последовательности вызовов.

15 июля 2016 19:29
Ответ на сообщение пользователя Кирилл
Насколько я знаю при потере фокуса активной вкладки все ставится на паузу и тэто вроде не отключить… А так ставьте вручную паузу после окончания анимации.

т.е. получатеся что все время надо вызывать пауза и потом запуск итд.. получается что на операцию больше чем нужно в каждом цикле
Денис
16 июля 2016 22:57
На вашем месте я сначала бы сделал, что бы просто работало. А потом уже думать нужна ли эта функция….
По опыту знаю, разработчики b4w идут навстречу своему комьюнити, и могут внести дополнительный функционал.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
17 июля 2016 12:14
Ответ на сообщение пользователя Кирилл
На вашем месте я сначала бы сделал, что бы просто работало. А потом уже думать нужна ли эта функция….
По опыту знаю, разработчики b4w идут навстречу своему комьюнити, и могут внести дополнительный функционал.


ну по нашему обсуждению получается что нет такой функции. значит нужна, пауза после каждого кадра тоже не вариант
Денис
21 июля 2016 17:10
Резюмируя все вышесказанное:

Проблема ( необходимость) :
сейчас "движок B4W" заточен на получение макс. возможного FPS и не предусматривает опции ручного( по таймеру) рендеринга как напримре можно сделать в THREE.JS указав, что по событию должен перерисовать.

Существуют варианты когда наприме нужно перерисовать сцену или ее часть и вывести например один раз в секунду поменяв в сцене что либо итд… или по наступлению события.

выше было предположене, что можно после отрисовки кадра ставить на паузу, а перед необходимостью рефреша снимать с паузы и после снова ставить .. ка то очень замутно получается …

по идее нужна возможность указать при инициализации, что рефрешем мы управляем вручную и дать возможность выполнить однократный рендеринг, и снова ждать команды на рендер. или еще сделать вариант с ограничителем FPS например не более 1 кадра в сек или в миллисекундах от прошлого кадра. конечно и тот и тот варинт будет к стати во многих проектах, может, чтобы им(ограничителем) можно было управлять в ручную.

Еще прошу пояснить по ПАУЗЕ рендеринг полностью остатнавливается и ресурсы не потребляются?
( это когда в бекграунд уходит задача)

ПРИМЕР обсуждавшийся выше - КВАРЦЕВЫЕ ЧАСЫ , и даже часы с перерисовкой в неск кадров в секунду тоже варинт.

Спасибо заранее.
Денис
21 июля 2016 18:11
Добрый день.

Добавим начиная со следующего релиза (будет доступен на следующей неделе) возможность выставить максимальное FPS
21 июля 2016 18:26
Ответ на сообщение пользователя Семенцов Роман
Добрый день.

Добавим начиная со следующего релиза (будет доступен на следующей неделе) возможность выставить максимальное FPS


а то что я писал про рендер по запросу?
Денис
21 июля 2016 18:45
С этим посложнее - релиз уже не загорами. Быстро добавить такой функционал не получится, надо ещё подумать над необходимостью его реализации.
21 июля 2016 19:53
Ответ на сообщение пользователя Семенцов Роман
С этим посложнее - релиз уже не загорами. Быстро добавить такой функционал не получится, надо ещё подумать над необходимостью его реализации.


например тот же ТРИИ с которого собственно я пришел к вам.. там это есть и оно там давно. по идее значит нужно было ))) про время согласен конечно. хотя от паузы это вроде ка кне сильно отличаться будет.

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

Попутный вопрос который проистекает из вышесказанного, а зачем вообще "движок" рендерит кадры если сцена статична и в ней ни чего не поменялось? ))))))) ясно, что электричество в розетке халявное , а вот в батарейке не халявное.. по хорошему все то, что описано выше можно да и нужно завязать на изменения в сцене, если нет изменений то пауза рендера! это логично !
Денис
22 июля 2016 09:39
Попутный вопрос который проистекает из вышесказанного, а зачем вообще "движок" рендерит кадры если сцена статична и в ней ни чего не поменялось? ))))))) ясно, что электричество в розетке халявное , а вот в батарейке не халявное.. по хорошему все то, что описано выше можно да и нужно завязать на изменения в сцене, если нет изменений то пауза рендера! это логично !

Согласен с вами, что для мобильных платформ актуально сбережение энергии батареи. Движок рендерит всегда, потому что подразумевается, что камеру можно покрутить, то есть рассмотреть сцену с нескольких ракурсов. В моменты, когда камера находится в неподвижном положении, может проигрываться анимация. Но опять же, я согласен, что такие вещи надо оставлять на совести разработчика и ему самому решать, когда рендерить новый кадр.
22 июля 2016 15:24
Ответ на сообщение пользователя Семенцов Роман
….Но опять же, я согласен, что такие вещи надо оставлять на совести разработчика и ему самому решать, когда рендерить новый кадр.

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