Page 172 - Web性能权威指南
P. 172

最后,除了 Navigation Timing,W3C Performance Group 还标准化了另外两个 API:
                 User Timing 和 Resource Timing。Navigation Timing 只针对根文档提供性能计时器,
                 Resource  Timing 则针对页面中的每个资源都提供类似的性能数据,可以让我们收集
                 到关于页面的完整性能数据。类似地,User Timing 也是一个简单的 JavaScript API,
                 可以标记和度量特定应用的性能指标,提供高精确度的计时结果:

                     function init() {
                       performance.mark("startTask1"); ➊
                       applicationCode1(); ➋
                       performance.mark("endTask1");
                       logPerformance();
                     }
                     function logPerformance() {
                       var perfEntries = performance.getEntriesByType("mark");
                       for (var i = 0; i < perfEntries.length; i++) { ➌
                         console.log("Name: " + perfEntries[i].name +
                                     " Entry Type: " + perfEntries[i].entryType +
                                     " Start Time: " + perfEntries[i].startTime +
                                     " Duration: "   + perfEntries[i].duration  + "\n");
                       }
                       console.log(performance.timing); ➍
                     }
                 ➊ 存储(标记)时间戳,并命名(startTask1)
                 ➋ 执行应用代码
                 ➌ 迭代和记录用户计时数据
                 ➍ 记录当前页面的 Navigation Timing 对象

                 综合运用 Navigation、Resource 和 User 计时 API,可以对每个 Web 应用的真实用
                 户性能进行度量,再也不要说没有精确的数据了!优化要以度量为依据,RUM 和人
                 造测试是互为补充的手段,可以帮我们发现回归现象和真正的瓶颈,提升应用的用
                 户体验。

                            可靠的性能优化策略源自特定于应用的自定义指标。不存在唯一度量和定
                            义用户体验的方式。相反,我们必须针对每个应用定义和设计特定的里程
                            碑和活动,这是一个涉及所有干系人(公司老总、设计师和开发人员)的
                            协作过程。

                 10.5 针对浏览器的优化建议


                 不得不说,浏览器可远远不止一个网络套接字管理器那么简单。性能可以说是每个
                 浏览器开发商的核心卖点,既然性能如此重要,那浏览器越来越聪明也就毫不奇怪

                                                                         Web性能要点   |   157
   167   168   169   170   171   172   173   174   175   176   177