是否可以通过JavaScript在浏览器中检测硬件加速?

时间:2011-03-23 10:28:56

标签: javascript html5 browser hardware-acceleration modernizr

我注意到,由于字体渲染的变化,使用硬件加速的浏览器的字体大小不一样 - 使字符显得更小。在具有水平导航的网站上,这实际上已成为一个问题。

是否可以使用JavaScript或JS库检测浏览器中启用(或禁用)的硬件加速?

Modernizr似乎没有提供这种选择。

4 个答案:

答案 0 :(得分:7)

字体呈现因浏览器,操作系统和用户设置而异。因此,您的网站应该优雅地处理这些差异,而不是依赖像素精确的字体渲染。硬件加速只是这种差异的另一个来源。

由于您实际上并不想知道它是否是硬件加速,而是在字体渲染方面的差异如何测量一些渲染文本的大小,并根据它调整页面?

答案 1 :(得分:2)

由于您只对浏览器和平台的字体大小差异感兴趣,因此可能需要研究字体大小规范化技术。

我个人所熟悉的唯一一个是YUI Fonts CSS。我在我的所有项目中使用它,并使用HTML5Boilerplate项目。

还有css排版框架,例如BaselineTypogridphyBlueprint(如果沿着这条路走下去,我已经看过这个推荐),最后{{ 3}}

答案 2 :(得分:0)

为什么不使用underscore的限制或去抖来减少刷新,而不是使用缓慢渲染的变通方法呢?

答案 3 :(得分:-5)

<script type="text/javascript">
<!--
window.onload=function(){
        if(window.screen.availHeight>700 && window.screen.availWidth>1000)
        {
        document.body.style.fontSize="15px";
        }
.................
//another conditions
}
//-->
</script>

你无法获得处理器速度或ram大小 但你可以发挥作用来了解强度

<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>