Использование JavaScript для определения производительности процессора / графического процессора устройства?

(Вопрос не специфичен для three.js, но я буду использовать его в качестве примера)

В последнее время я использую three.js для разработки интерфейса веб-приложения и написал хороший запасной вариант между WebGL и Canvas рендерером (для настольных браузеров).

Но теперь проблема состоит в том, как правильно определить возможности устройства, есть 2 аспекта проблемы:

функции браузера (статические функции, такие как webgl / canvas): это в значительной степени решается в веб-сообществе с помощью простого обнаружения функций.возможность устройства: это сложная часть, без прямого доступа к устройствуДля получения информации об оборудовании нам нужно несколько способов определить, следует ли нам переходить к менее требовательному к оборудованию коду.

Известный пример: Firefox mobile / Opera mobile заявляет о поддержке WebGL, но содержат ошибки или ограничены аппаратным обеспечением устройства.

Несколько обходных путей, которые я придумала до сих пор:

Используйте общую функцию в качестве индикатора производительности - сенсорное устройство, например, имеет менее мощное оборудование в целом. Жулик: это 'не будущее.Черный список известных глючных браузеров / устройств - Нюхание UA будет неизбежным, и его будет трудно поддерживать.Тест производительности - отсюда вопрос, кроме выполнения кода и измерения частоты кадров, есть ли лучшие варианты?

Или, может быть, это нене должно быть так сложно, есть ли другие предложения?

Ответы на вопрос(3)

Ваш ответ на вопрос