Адаптирование качества графики под конкретный девайс

07 ноября 2017 11:47
Интересует следующее: есть возможность изменить качество графики:
m_config.set("quality", m_config.P_ULTRA);

Если у нас дисплей высокого разрешения, можем улучшить разрешение:
m_config.set("canvas_resolution_factor", 2);

И вроде-бы на лету. Но как определить, что устройство может потянуть более крутое разрешение и более крутое качество?
Разумно предположить, что можно делать какие-то выводы об устройстве, базируясь на уровне FPS. Например, выставить высокое качество а как только FPS упадет, убавить качество. Как следить за FPS?
А как определить, что на устройстве дисплей высокого разрешения? Нет ли вообще готовых примеров кода, или, может, B4W предоставляет какие-то API для этих целей?
08 ноября 2017 16:31
Берем этот код за основу и ставим туда проверку свойств на плотность, далее в зависимости от результата подставляем нужные параметры в конфигурирование старта движка.

Ваще верного решения с определением плотности экрана нет. Каким то образом эти значения знают разные браузеры, и мобильные приложения. Всё остальное - костыли.

Устанавливать параметры на основе FPS - Тоже заблуждение. В настройках уже вшито определение устройства (мобильное или обычное). Можно его включить и использовать. Или же дать пользователю самому выбирать качество отображения как в плеере.
08 ноября 2017 16:59
Ваще верного решения с определением плотности экрана нет. Каким то образом эти значения знают разные браузеры, и мобильные приложения. Всё остальное - костыли.

А как на счет devicePixelRatio:
var devicePixelRatio = window.devicePixelRatio || 1;

В новых телефонах должно сработать, а для старых останется 1

В настройках уже вшито определение устройства (мобильное или обычное).
Это здорово, но на тех-же мобильниках все по-разному: iPad1 будет тормозить, iphone7 будет летать.

Устанавливать параметры на основе FPS - Тоже заблуждение.
Почему заблуждение? А как тогда определить производительность?

Или же дать пользователю самому выбирать качество отображения как в плеере.
Зачем нагружать пользователя лишними элементами, в интерфейсе, в котором скорее всего он будет разово? Движок сам должен определить, на что способно устройство и выставить соответствующие настройки, чтобы было удобно.
09 ноября 2017 11:36
Ответ на сообщение пользователя crantisz

Зачем нагружать пользователя лишними элементами, в интерфейсе, в котором скорее всего он будет разово? Движок сам должен определить, на что способно устройство и выставить соответствующие настройки, чтобы было удобно.


Я как то уже задавал такой вопрос, для этого нужен встроенный в движок простейший бенчмарк, который запускается перед стартом сцены определяет ФПС и исходя и этого уже запускает сцену в наиболее вероятно подходящими параметрами.. ПикселРатио не поможет. Но такого бенчмарка я понимаю по сей момент еще нет? поправьте меня если кто знает ..
Денис
10 ноября 2017 12:05
Я как то уже задавал такой вопрос, для этого нужен встроенный в движок простейший бенчмарк, который запускается перед стартом сцены определяет ФПС и исходя и этого уже запускает сцену в наиболее вероятно подходящими параметрами.. ПикселРатио не поможет. Но такого бенчмарка я понимаю по сей момент еще нет? поправьте меня если кто знает ..

он там есть, но он такой кривописный, что работает через одно место. как будто его писала буфетчица. или уборщица. или охранник. в общем, любой человек, не понимающий как работает GPU
11 ноября 2017 17:56
Ответ на сообщение пользователя dI0_oIb
он там есть, но он такой кривописный, что работает через одно место. как будто его писала буфетчица. или уборщица. или охранник. в общем, любой человек, не понимающий как работает GPU

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