Skia GPU加速能使Android系统的Webkit渲染获得多少收益

兄弟姐妹们在线分析下,Skia GPU加速能使Android系统的Webkit渲染获得多少收益
最新回答
巷尾青苔

2022-03-01 01:40:44

从Honeycomb[3.x]版本起,Android便支持GPU加速,但目前Android并没有使用Skia GPU进行Webkit渲染。Skia GPU使用OpenGL进行后台加速渲染,未来也许会代替Skia。很多人认为,即使Android成功使用了GPU加速Webkit渲染,在访问浏览如雅虎等一般的网站时,用户也感觉不到太大的差异。因为Webkit的资源大多数消耗在了Javascript脚本和布局定位上。

我们认为,Webkit使用GPU加速渲染的最大意义在于HTML5 Canvas,这种技术可以实现网页动态绘图效果。Android渲染Canvas动画实在太慢,导致Web开发者根本无法在Android上用Canvas开发网页游戏。值得注意的是,目前很多手机和平板的应用程序以HTML5做为界面,并使用Webkit工作,这也是很多应用在Android系统上感觉“不流畅”的重要因素。

我们对Android系统使用Skia GPU加速的Webkit进行了测试。我们手上已经有Android Webkit NDK的WAC2.0版本,我使用了某个提交版本的Skia源码,并开启Skia GPU加速将其编译进NDK中。我没有使用Canvas加速,因为这还要增加修改GraphicsContextSkia API的工作,所以并未测试Canvas渲染的性能。

我们发现,开启Skia GPU加速后,Android系统在渲染静态页面时表现优异,页面加载速度显著提升。然而,对于动态内容,特别是使用Canvas绘制的动画,性能提升并不明显。这可能是因为Canvas本身的实现方式较为底层,依赖于硬件加速的支持程度。尽管如此,通过Skia GPU加速,Android系统在处理静态内容时,已经展现出了显著的优势。

总体来看,尽管Webkit的资源主要消耗在了Javascript脚本和布局定位上,但引入Skia GPU加速仍然可以带来显著的性能提升。特别是在处理静态页面和图像渲染时,这种加速技术的效果尤为明显。未来,随着技术的进一步发展,Skia GPU或许能够更好地优化Webkit在Android系统上的渲染性能。