博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IE10 Platform Preview 2
阅读量:6413 次
发布时间:2019-06-23

本文共 908 字,大约阅读时间需要 3 分钟。

首先是setImmediate Api。这个函数类似于setTimeout,但是强大了不止一点点。一般setTimeout的精度在16ms左右,也就是说就算写 setTimeout(0),每次循环无法突破16ms,当然setTimeout(0)一般有其他用途,这里就不深入了。在HTML5 里,setTimeout的精度被缩小到了4ms,fps提高了4倍。那setImmediate精度能到多少?写个简单的例子测试下:

var
d1 =
new
Date
();
var
i = 0;
var
f =
function
(e){
    
if
(i > 100000) {
        
alert(
new
Date
() - d1);
    
}
else
{
        
i++;
        
document.body.innerHTML = i;
        
msSetImmediate(f);
    
}
};
f();

异步将零到十万依次打印出来,在我2年前的本本上只用了16S的时间,也就是这个例子中setImmediate大约0.16ms执行一次,fps超过6000,简直让人难以置信!接着测试,setImmediate和16ms的setTimeout也有40多倍的差距,非常暴力。虽然目前还不知道这个函数的实现原理,但可以预见的是一旦普及,浏览器能做的事情更多了。

IE10 这次也增加了对requestAnimationFrame的支持,按惯例要写成msRequestAnimationFrame和 msCancelRequestAnimationFrame。不得不说万恶的浏览器厂商前缀,又污染到了js。好在IE的实现还是非常标准的,不像 moz只实现了一半。这部分详情可以看我之前写的,。总之,稳定在60fps且自带优化的帧动画函数,当然是支持的浏览器越多越好了~

几年前,遇到个需求,要在页面最小化的时候不拉取服务器消息。记得当时是判断浏览器高度是否大于0来实现的。如今,W3C制订了,之前Chrome已经支持,这次又多了IE10,这两类高端浏览器下类似需求再也不用自己山寨了。这个Api非常简单,没什么需要特别说的,用Chrome或IE10打开自己看就好了。

转载地址:http://bvdra.baihongyu.com/

你可能感兴趣的文章
CentOS改变docker默认存储池大小
查看>>
Docker存储驱动devicemapper介绍和配置
查看>>
win2008作为个人电脑用需要优化的部分
查看>>
vi教程
查看>>
yum 本地源配置问题
查看>>
从Vue.js窥探前端行业
查看>>
Linux chown改变文件所属关系命令
查看>>
android开发——获取手机SD卡的容量
查看>>
django ajax提交 Forbidden CSRF token missing
查看>>
我的友情链接
查看>>
maven常见异常
查看>>
shell基础一
查看>>
windows下查看端口占用情况
查看>>
轻松玩转window7之五:管理共享
查看>>
邮件服务器搭建,可连接客户端
查看>>
大数据时代的遨游
查看>>
大数据测试之hadoop单机环境搭建(超级详细版)
查看>>
我的友情链接
查看>>
CSS教程:div垂直居中的N种方法[转]
查看>>
使用雪碧图Css Sprite精灵 | 加速网页响应速度
查看>>