web小技巧(黑科技)

最近看到了两个有点意思的有关web性能的hack。记录下来感叹一下奇葩~

  • 解析js

解析js占了页面加载时间的一大块,所以现在的js引擎会搞lazy parse,没调用的函数先不解析,这样省了不少页面加载时间,但第一次执行函数调用时解析js会稍微拖慢速度,某些js函数还会解析多遍。

如何省这个时间呢?用requestIdleCallback在浏览器空闲的时候顺便调js函数的length方法触发解析函数。
675848-20160726184128059-1219525374.png

详情见https://www.youtube.com/watch?v=MlNGomWegCE

  • FLIP

web上UI的动画效果想达到60FPS还是没那么容易的。一个展开元素的动画效果,如果在元素的长宽位置等css属性上加动画效果,每帧都会触发重新排版渲染。但有一个很好的属性css transform,这个属性的变化不会触发重排,只进行图层的合成,速度很快。

FLIP能只一次排版就把动画效果搞定。FLIP是指first, last, invert, play四个阶段,先把记录元素初始长宽位置(first),再直接把元素变到最终位置(last),记录下此时元素的长宽位置,这样只触发一次排版。然后用css transform把元素变回原来的位置(invert),最后在transform属性上加动画效果(play),这才是最终得到的动画效果。

详情见https://www.youtube.com/watch?v=thNyy5eYfbc

转载于:https://www.cnblogs.com/kilobtye/p/5708616.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值