Проверяете наличие аппаратного ускорения? (Доступно тестирование)

Я написал CSS, в котором используются -webkit-transform, -webkit -pective и другие подобные. Мой дизайн выглядит как колени на машинах, где доступно аппаратное ускорение, но когда его нет, его практически невозможно использовать. Как я могу проверить наличие аппаратного ускорения и предоставить резервный CSS?

Боковое примечание: запустите chrome: // gpu-internals /, чтобы вручную проверить доступность.


person Martin Joiner    schedule 09.03.2013    source источник
comment
Я мог представить себе два варианта, которые я оба пробовал в этой скрипке, но (к счастью?) Chrome не позволяет `` загрузить локальный ресурс '', чего я и ожидаю от браузера ...   -  person rene    schedule 09.03.2013
comment
Хороший тест. Я долго искал решения, прежде чем опубликовать этот вопрос. Не могу поверить, что я первая этого хочу!   -  person Martin Joiner    schedule 09.03.2013


Ответы (1)


К сожалению, ответ кажется «вы не можете (пока)».

Проект Modernizr перечисляет ускорение HW среди «необнаруживаемых»: https://github.com/Modernizr/Modernizr/wiki/Undetectables.

Отчасти проблема заключается в том, что аппаратное ускорение используется в каждом конкретном случае при рендеринге чего-либо на странице. Таким образом, даже если браузер теоретически может поддерживать ускорение HW, будет ли он использоваться для какой-либо операции (перевод, переход, перерисовка и т. Д.) Заранее не будет известно.

Вы можете представить себе схему обнаружения, которая использует профилирование для обнаружения изменения производительности с / без аппаратного ускорения, но вещи, которые используют аппаратное ускорение, происходят на уровне вне поля зрения страницы. Вы не можете, например, определить частоту кадров перехода, даже если вы можете надежно включить / отключить ускорение HW.

API рендеринга webkit выглядит так, как будто эта информация может быть доступна, но он не выглядит доступным через Javascript на уровне страницы (даже несмотря на то, что к узлам в DOM прикреплены RenderObjects): https://www.webkit.org/blog/114/webcore-rendering-i-the-basics/

Похоже, единственный жизнеспособный вариант - это анализ пользовательским агентом списка известных ускоренных браузеров (фу).

person Ben Hull    schedule 11.03.2013