论坛

由用户创建的信息 den812
20 October 2016 19:34
Извините за откапывание старой темы но,
В связи с пересмотром мной концепции энергосберегающего режима в моем проекте, а так же с тем, что движок обновился и стал работаь шустрее на моем устройсве я решил вернуться к использованию покадрового рендера для энергосберегающего режима.

в итоге сделано ДВИЖОК для JS Часов:

1. упразднен второй канвас на который в 2Д выводилась заплатка вместо рендера с помощью остановки рендера и сокрытия одного канваса и отображения другого. Теперь рендер должен замереть и рефрешится по событию.

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

Напомню, мне пришлось ограничить рендер 1 к в сек, т.к. иначе мой маломощный девайс тормозит..
реально по полной загрузке получается 2-8 к в сек.


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

минусы, странно отрабатывает переход цветокоррекции и иногда рендерер видимо не успевает отрендерить кадр и приложение как бы виснет, до перехода обратно в нормальный режим.

Оставшиеся ВОПРОСЫ ( т.к. хочется все-же упорядочить все и получить более стабильное приложение):

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

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

3. не появился ли какой метод который не позволяет движку останавливать загрузку т.к. например при потере фокуса прелоадер останавливается. И при выставлении ФПС например 1
загрузка идет очень медленно со скоростью 1кадр в сек и может тоже тепер есть какое то более красивое решение , чем ставить 60 ФПС и потом менять их на 1 после первого кадра.. т.к. тут тоже проскакивают паразитные кадры итд..
(решено пока этими костыликами)

Приложу видео проблем на новом варианте устройства, похоже что то поменялось в интерпретаторе JS…, но "враги" не сознаются, вот Я и затеял "расчитску".. 1_LW3D HYBRID 4S3 with Power Reserve and 24h LCD watch inside by RealTime 3D by LuxuryWatches.mp4

спасибо всем заранее за советы и команде за работу!
20 October 2016 15:17
Ответ на сообщение пользователя Иван Любовников
как-то так:
var interval = 10; // 10 sec
m_cfg.set("max_fps", 1/interval);

так буду пробовать, спаисбо
20 October 2016 14:35
Ответ на сообщение пользователя Иван Любовников
должно работать


так как задать например интервал рендера 10 сек или 1 минуту?
20 October 2016 13:42
Ответ на сообщение пользователя Иван Любовников
да влияет, но включать/отключать такой функционал на лету не получится - особенности движка из расчета оптимизации рендеринга: все определяется заранее при загрузке, однако в принципе можно было бы это поддержать в каком-то виде

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


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

а что по поводу ФПС ниже 1 сек ? мне например надо 20 с или 1 минуту )) например )) звучит странно но надобность есть
19 October 2016 19:05
Ответ на сообщение пользователя Иван Любовников
из апи нельзя, можно только в блендфайле

P.S. ну или json хакнуть

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

так вот если да то ее хорошо бы отключать и включать на лету

и еще попраив JSON нужно будет перезагружать сцену ( и рендер

_____________________________________________________________________
PS Заработало ! я вот думаю а как я это мог из документации узнать?
ведь в апи не написно, что есть ограничение и условие использования функции?

раз пошла такая "пьянка" спрошу, а может и тени как то можно на лету отключать
и включать обратно?

________________________________________________________________
PPS
Ура все сработало ! и совместно с отключением лишних источников света и теней !
стало все как надо !

 m_cfg.set("shadows", false);
m_scs.set_color_correction_params( {saturation: 0} );


и тут я задался вопросом, а можно FPS сделать еще ниже чем 1к в сек , например 0.1-0.5 итд кадров в сек ? типа
m_cfg.set("max_fps", 0.1);

а может и в микросекундах правильнее считать перерыв между рендерами
19 October 2016 18:47
Ответ на сообщение пользователя Иван Любовников
метод будет работать, только если галочка включена

так а как из апи то эту галочку включить?
19 October 2016 18:24
Ответ на сообщение пользователя Иван Любовников
это объект, должно быть так: m_scs.set_color_correction_params({ saturation: 0 });

да пробовал, но результата нет и ругани нет (
может надо еще
m_scs.enable_color_correction= true; ?

или в рендер включать возможность цветокоррекции.

т.к. в JSON если в блендере включать галку идет две строчки:

"b4w_enable_color_correction": true,
"b4w_color_correction_settings": {"brightness": 0, "contrast": 0, "exposure": 1, "saturation": 0}
19 October 2016 17:34
Ответ на сообщение пользователя Евгений Родыгин
Так ведь для этого под описанием функции идёт описание параметров с приведением типа.
Конкретно в этом случае можно щелкнуть на ColorCorrectionParams и страница переместится вот сюда.


может я, что то не так делаю , но рендер не реагирует на установку коррекции из АПИ ((
а в логан нет ни какой ругани ..

m_scs.set_color_correction_params("saturation", 0);


может что не так делаю? может в каком другом месте надо или пред инициализировать как то итд?
19 October 2016 13:35
Ответ на сообщение пользователя Андрей Юрьевич
Я не считаю что ошибки должны разделяться на обычных и pro юзеров
Ошибки есть ошибки
……………………..
Оно же знаете как, 10 фич и 1 недочет, все будут про недочет один говорить.

Ну человеки так устроены .. ( , это как про то что эл-во в розетке должно само быть по себе и вода в кране так-же и что это дары природы ..
и даже не все понимают, что горячую воду в горячем кране кто то, где то нагрел и им закачал )))
это как про админа вспоминают только когда все сломалось, и что говорят? а… где там этот бездельник итд итп )))
19 October 2016 13:30
Ответ на сообщение пользователя Иван Любовников
примеры потихоньку делаем, формат jsdoc это позволяет, вот как здесь, например:
css_to_rgb

да, да именно это я и имел ввиду ! ждемс. и спасибо команде B4W !!!!!