JavaScript V8性能小贴士

译自:Performance Tips for JavaScript in V8

简介

关于如何巧妙提高V8 JavaScript性能的话题,Daniel Clifford在Google I/O上做了一次非常精彩的分享。Daniel鼓励我们“追求更快”,认真的分析C++和JavaScript之间的性能差距,根据JavaScript的工作原理撰写代码。在Daniel的分享中,有一个核心要点的归纳,我们也会根据性能指导的变化保持对这篇文章的更新。

最重要的建议

最重要的是要把任何性能建议放在特定的情境当中。性能建议是附加的东西,有时一开始就特别注意深层的建议反而会对我们造成干扰。你需要从一个综合的角度看待你的Web应用的性能——在关注这些性能建议之前,你应该找PageSpeed之类的工具大概分析一下你的代码,也算是跑个分先。这会防止你过度优化。

对Web应用的性能优化,几个原则性的建议是:

  • 首先,未雨绸缪
  • 然后,找到症结
  • 最后,修复它

为了完成这几个步骤,理解V8如何优化JS是一件很重要的事情,这样你就可以根据其对JS运行时的设计撰写代码。同样重要的是掌握一些帮得上忙的工具。Daniel也交代了一些开发者工具的用法,它们刚好抓住了一些V8引擎设计上最重要的部分。

OK。开始V8小贴士。

阅读剩余部分...

视觉差,走起!

翻译自:http://www.html5rocks.com/en/tutorials/speed/parallax/

简介

现在满大街都是视觉差(parallax)网站了,我们随便看几个:

也许你对这玩意儿还不太熟,视觉差其实就是它的视觉结构会随着页面的滚动而变化。通常情况下页面里的元素会根据页面的滚动位置而缩放、旋转或移动。

一个视觉差页面的demo
我们的视觉差demo的完整效果

不管你喜不喜欢视觉差网站,有一件事毫无疑问,它是一个性能的黑洞。因为当页面滚动时,浏览器的优化都倾向于新内容随滚动而出现于屏幕的最上方或最下方的情况。一般来说,内容改变得越少浏览器性能越高。而对于一个视觉差网站来说,在页面滚动时,好多元素都在发生改变,大多数情况下整个页面的大块可视元素都在发生变化,所以浏览器不得不重绘整个页面。

我们有理由这样归纳一个视觉差的网站:

  • 背景元素会在你向上或向下滚动页面时改变位置、旋转或缩放。
  • 页面内容,如文字或小的图片,在页面滚动时会按照传统的方式进行上下移动。

建议大家先阅读我们之前介绍过的滚动性能来改进你的app的响应速度。本篇文章是基于那篇文章所写的。

所以文字是如果你在建立一个视觉差网站,那么你是否受困于高昂的重绘开销?有没有别的改进建议使得性能最大化?让我们看看这几个方案:

阅读剩余部分...

Chrome开发者工具中评估性能的五大新特性

摘自:Chrome DevTools Revolutions 2013

本次开发者工具的改进中有几项新特性是针对性能的:

  • 持续绘制模式
  • 显示绘制矩形及其层的边框
  • 每秒帧数的测量仪
  • 找到强制同步布局(layout thrashing)
  • 对象分配跟踪

阅读剩余部分...