多年以来,互联网和用户的交互方式一直是在后端数据库中储存信息,然后在前端用静态的方式显示出来。但是最近类似互动游戏、动画和视觉差滚动的网站越来越
受到欢迎,互联网的图形表现也变得更加生动和丰富。在这场变革中,用户设备的硬件配置也变得日益强大,而 Google 现在似乎认为 GPU
将是构造未来互联网的最佳工具。
在上周四的 Google I/O 大会上,Google 游戏开发倡导者(Game Developer Advocate)Colt McAnlis 和 Android 版 Chrome 团队技术总监 Grae
Kloba 向开发者们分享了一些如何更好地利用 GPU 的经验。这些方法可以帮助网站更快更迅速的显示图形,并且在不牺牲性能的前提下优化触摸操作体验。
目前Chrome可以把一个网站分割成若干个部分并分配到 GPU 层面处理,其中的每个部分又可以再次细分成许多小块 —— 就好像在页面上覆盖了一张网格。这样就不必使用 CPU 在屏幕区域中载入像素,相反 GPU 会缓存这些内容,并实时对用户行为做出反应。“这就好比让 CPU 可以安静地喝一杯玛格丽特放松一下,而让 GPU 来处理这些脏活累活”McAnlis 说。
但是这种方式也是有代价的。如果 GPU 负担的太多的话,“GPU 的纹理缓存资源是固定的,不会增长的”McAnlis 说,“如果缓存满了,那就必须清除一部分页面内容,然后才能存入新的”,于是就会导致性能的下降。
目前,Chrome 团队正在寻找如何正确分割每个页面的方法。举例来说,如果网页中的某个部分对用户来说是没用的,而这个部分又被 GPU 缓存并载入,那无疑是对GPU计算资源的浪费。网页开发者可以在 Chromium 工程设计文档中找到更多学习如何在Chrome中使用GPU的资源,并使用 Trace Event Profiling Tool 工具来深入研究 GPU 使用情况。另外网页开发者还可以在 Chrome Experiments 网站找到更多视觉体验范例,McAnlis 说。
如果要举一个好的范例网站,McAnlis说,不必惊奇,去看看 Google 的一个网站,也就是 Google I/O 大会的官方网站的移动版。“查看一下源代码就会发现这是一个绝佳的范例”McAnlis 说。当用户上下滚动页面时,页面会自动扩展或者收缩以适应屏幕,显示出会议各项日程的时间。
那些能够提供更加丰富精彩内容的网站将会成为未来几年中互联网的王者。而 Google 看起来已经坚信充分利用 GPU 的强大能力将会是实现这一目标的最好方式。
作者: Jordan Novet
翻译:HiWebGL.com