我注意到,由于字体渲染的变化,使用硬件加速的浏览器的字体大小并不相同 - 使字符看起来更小。在具有水平导航的网站上,这实际上已成为一个问题。
是否可以使用 JavaScript 或 JS 库来检测浏览器中启用(或禁用)的硬件加速?
Modernizr 似乎没有提供这种选择。
我注意到,由于字体渲染的变化,使用硬件加速的浏览器的字体大小并不相同 - 使字符看起来更小。在具有水平导航的网站上,这实际上已成为一个问题。
是否可以使用 JavaScript 或 JS 库来检测浏览器中启用(或禁用)的硬件加速?
Modernizr 似乎没有提供这种选择。
字体渲染因浏览器、操作系统和用户设置而异。所以你的网站应该优雅地处理这些差异,而不是依赖像素精确的字体渲染。硬件加速只是这种差异的另一个来源。
由于您实际上对确定它是否是硬件加速并不感兴趣,但是在字体渲染的差异方面,如何测量一些渲染文本的大小,并基于此调整您的页面?
由于您只对跨浏览器和平台的字体大小差异感兴趣,因此可能值得研究字体大小规范化技术。
我个人唯一熟悉的是YUI Fonts CSS。我在我所有的项目中都使用它,它使用了HTML5Boilerplate项目。
还有一些 CSS 排版框架,例如Baseline、Typogridphy、Blueprint(如果你走这条路,我已经研究过这个,推荐它),最后是 atatonic
为什么不使用下划线的油门或去抖动来减少刷新,而不是为慢速渲染提供解决方法呢?
<script type="text/javascript">
<!--
window.onload=function(){
if(window.screen.availHeight>700 && window.screen.availWidth>1000)
{
document.body.style.fontSize="15px";
}
.................
//another conditions
}
//-->
</script>
您无法获得处理器速度或内存大小,但您可以通过函数了解硬件强度
<script type="text/javascript">
var number=10;
var i;
var start = (new Date).getTime();
//code here
for(i=0;i<10000;i++)
{
number=number*10;
}
var diff = (new Date).getTime() - start;
alert(diff);
start = (new Date).getTime();
//code here
while(i<10000)
{
number=number*10;
i++;
}
diff = (new Date).getTime() - start;
alert(diff);
</script>