当前位置 > 首页 > 网站建设学院 > > 产品

技术解读为何Chromium内核为押宝GPU加速

8/23/2014来源:产品人气:1397

编者按:本文来自猎豹浏览器工程师@cutemole投稿,对Chromium的GPU加速渲染功能的优缺点做了分析。

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加速性能距离“理想标准”仍然有一段距离。据分析可能存在以下障碍:

1.Chromium的一贯宗旨是用内存换性能,开启GPU加速会导致浏览器占用的内存平均增加约70MB,低配置电脑运行起来较为吃力。

除了必要的硬件配置,GPU加速对操作系统也有要求。目前国内仍然有71.57%的用户在使用Windows xp和更低版本的操作系统,纵然用户的硬件配置上去了,大多数加速特性却受限于陈旧的操作系统而无法实现。

2.显卡驱动与GPU加速冲突不断,这或是阻碍GPU加速普及的最大障碍。

GPU加速,需要显卡中的GPU予以配合执行。而显卡硬件驱动的代码质量参差不齐,在某些特定的显卡驱动版本下,GPU加速渲染过程会触发BUG,导致渲染加速失败,轻微的结果是网页显示不正常或页面无响应,严重冲突时可能导致电脑花屏、蓝屏。

尽管存在一些瑕疵,GPU加速绝对是浏览器的发展趋势。一些采用Chromium内核的第三方浏览器,为了避免投入额外的技术维护成本,选择默认不开启GPU加速,这种逃避现实的策略,对问题的解决于事无补。