Upgrade to Pro — share decks privately, control downloads, hide ads and more …

移动端性能调优及16ms优化

hugo
January 07, 2014

 移动端性能调优及16ms优化

移动端性能不容忽视,本PPT主要介绍如何使用timeline来发现页面中的性能瓶颈,并提出页面渲染优化、滚动优化、JS优化的一些方法。

hugo

January 07, 2014
Tweet

More Decks by hugo

Other Decks in Technology

Transcript

  1. Chrome ADB plugin ① Chrome开启“Enable Developer Tools experiments” ② Crhome安装ADB插件

    ③ 手机连接电脑,并开启“ USB调试” ④ 访问chrome://inspect即可调试 ⑤ 在插件“ setting”设置转发端口可映射本地电脑文件
  2. iOS ① Iphone连接Mac,打开 Mac 和 Iphone中的 Safari . ② 在iphone的

    “设置”里,找到safari,开启“ web检查器” ,并退出 隐身浏览模式。 ③ 找到 Safari 的“ Develop 开发”菜单,第一个菜单分隔线的后面应 该是你要连接的 IOS 设备的名字。在子菜单选择你想调试的页面。
  3. Timeline 加载(Receive Data) 加载完成(Finish Loading(文件)) 脚本事件 重新计算样式(Recalculate Style) 计算布局(layout) 绘制(paint

    Setup/Paint(sizexsize)) 合成(Composite Layers) Web渲染过程:计算应用到DOM元素的新样式(重新计算),生成几何形状(box盒模型) 与为每个元素定位(layout布局),然后为每个元素填充像素插入layers(Paint setup and paint 绘制设置与绘制),最后把layers输出到屏幕(Composite layers 合成层)。 注:在firefox中,Layout的过程叫reflow,Painting过程叫repaint 实例
  4. 触发条件 重新计算样式 •style ="" •className= "" •classList.add() •clasList.remove() •appendChild() 布局渲染

    •display •Float •Position •scrollTop() •Offset() •clientLeft() * 更多触发条件可查看文章:How (not) to trigger a layout in WebKit
  5. 优化策略 • 银弹:requestAnimationFrame • 绝对定位 • 开启GPU加速: -webkit-transform :translateZ(0) •

    Canvas • 禁止图像缩放(使用实际大小的图片非常重要) • 根据实际页面情况慎用耗性能的CSS属性
  6. 参考 • google官方:https://developers.google.com/chrome-developer-tools/docs • 为什么web应用程序很慢:http://www.cnblogs.com/codemood/p/3213459.html • 图形图像:http://blogs.msdn.com/b/shawnhar/ • 性能杀手:http://perfectionkills.com/profiling-css-for-fun-and-profit-optimization-notes/ •

    16毫秒性能优化:http://velocity.oreilly.com.cn/2013/index.php?func=session&id=14 • 60fps layout and rendering: https://docs.google.com/presentation/d/1CH8ifryioHDLT1Oryyy8amusUmq2FytpCPCp k0G3E4o/edit#slide=id.p • 开发基于web技术的高性能动画: http://www.gbtags.com/gb/share/2498.htm • Chrome DevTools Revolutions 2013: http://www.html5rocks.com/en/tutorials/develop ertools/revolutions2013/ • Gone In 60 Frames Per Second A Pinterest Paint Performance Case Study: http://www.smashingmagazine.com/2013/06/10/pinterest-paint-performance-case- study/