8月12日,Chromium开源社区发布了38内核开发者版,这是今年来Chromium发布的第6个内核版本。Chromium内核在今年快速迭代的背后有一条清晰的主线,那就是GPU加速渲染,也称硬件加速渲染(GPU Accelerated Compositing/Hardware Accelerated Compositing)。
一、厚积薄发,Chromium押宝GPU加速
GPU加速渲染(简称“GPU加速”)并不是今年才出现的技术,早在2009 年Chrome就在O3D项目中部分实现了GPU加速。2011年,Chromium将O3D 插件调整为支持页面GPU加速。由于跟显卡驱动兼容性不佳、Bug较多等原因,在2011年到2013年的很长一段时间里, GPU加速功能一直被放置在Chromium的“实验室”中,只有少数极客发烧友、开发者才有机会体验到,绝大多数普通用户使用的Chrome版本中并未开启GPU加速。
直到2013年末,Chromium终于放开了手脚,一方面是对GPU加速功能进行大规模的升级,除了持续不断的修复Bug,浏览器主界面渲染也被加入到GPU加速模块中(此特性暂不支持微软XP系统)。这个调整持续了好几个版本,到34 核版本时终于趋于稳定状态;另一方面,曾被“束之高阁”的GPU加速渲染,终于在面向普通用户的Chrome浏览器里由默认关闭变成了默认开启。
GPU加速到底有什么好处,值得Chromium如此大力投入?
对于电脑配置好的普通用户来说,开启GPU加速后,网页上的图片、视频打开速度均能有所提升,简而言之,上网更快了。
对网站开发者——特别是Html5游戏的开发者而言,GPU加速的普及,使得他们可以实现更多更炫的视觉特效。此外,采用Chromium内核的第三方浏览器开发者,也可以因此实现更炫酷的界面效果,如3D动画等等。
综上所述,无怪乎Chromium将GPU加速视作今年的重中之重。
二、尚存瑕疵,第三方开发者应积极贡献
虽然已经站在了行业的前列,Chromium内核的GPU加速性能距离“理想标准”仍然有一段距离。主要存在以下障碍:
其一,Chromium的一贯宗旨是用内存换性能,开启GPU加速会导致浏览器占用的内存平均增加约70MB,低配置电脑运行起来较为吃力。
除了必要的硬件配置,GPU加速对操作系统也有要求。目前国内仍然有71.57%的用户在使用Windows XP和更低版本的操作系统,纵然用户的硬件配置上去了,大多数加速特性却受限于陈旧的操作系统而无法实现。
2014年1月国内操作系统使用比例
其二,显卡驱动与GPU加速冲突不断,这或是阻碍GPU加速普及的最大障碍。
GPU加速,需要显卡中的GPU予以配合执行。而显卡硬件驱动的代码质量参差不齐,在某些特定的显卡驱动版本下,GPU加速渲染过程会触发BUG,导致渲染加速失败,轻微的结果是网页显示不正常或页面无响应,严重冲突时可能导致电脑花屏、蓝屏。
Chromium社区中关于Intel显卡驱动导致进程CPU高和浏览器假死的一则公告
Chromium社区中关于Nvidia显卡驱动导致绘图异常的一则公告
尽管存在一些瑕疵,GPU加速绝对是浏览器的发展趋势。一些采用Chromium内核的第三方浏览器,为了避免投入额外的技术维护成本,选择默认不开启GPU加速,这种逃避现实的策略,对问题的解决于事无补。
感谢猎豹浏览器工程师投稿