Можно ли обнаружить аппаратное ускорение браузером в JavaScript? - PullRequest
3 голосов
/ 23 марта 2011

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

Можно ли использовать JavaScript или библиотеку JS для определения аппаратного ускорения как включенного (или отключенного) в браузере?

Modernizr, похоже, не предлагает этот выбор.

Ответы [ 4 ]

7 голосов
/ 23 марта 2011

Рендеринг шрифта зависит от браузера, ОС и пользовательских настроек.Таким образом, ваш сайт должен корректно справляться с такими различиями, а не полагаться на точную пиксельную визуализацию шрифтов.Аппаратное ускорение - это еще один источник таких различий.

Поскольку на самом деле вас не интересует, является ли аппаратное ускорение, а есть различия в рендеринге шрифтов, как при измерении размера, который имеет какой-либо визуализированный текст, иадаптировать свою страницу на основе этого?

2 голосов
/ 23 марта 2011

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

Единственный, с кем я лично знаком, это YUI Fonts CSS . Я использую его во всех своих проектах, и он использует проект HTML5Boilerplate .

Существуют также типографические рамки CSS, такие как Baseline , Typogridphy , Blueprint (я рассмотрел это, рекомендую его, если вы спуститесь по этому путь) и наконец ататоник

0 голосов
/ 21 января 2014

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

0 голосов
/ 23 марта 2011
<script type="text/javascript">
<!--
window.onload=function(){
        if(window.screen.availHeight>700 && window.screen.availWidth>1000)
        {
        document.body.style.fontSize="15px";
        }
.................
//another conditions
}
//-->
</script>

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

...