chrome使用什么图形库

时间:2013-09-11 09:21:29

标签: google-chrome opengl rendering chromium skia

我知道可以用来渲染图形的openGL/directX图形库。硬件供应商 图形处理单元支持这些库。
我想知道chrome使用什么来呈现它的东西。

所以我开始googling,结果是:

chrome使用webKit呈现html页面。

googling webkit显示>> webkit只是一个前端。

  

webkit只是一个前端。这取决于后端和硬件支持。 Google Chrome使用skia作为后端,可以使用软件或硬件。所以答案是它取决于后端的植入和它运行的硬件。正如Does WebKit use OpenGL to render CSS transitions?

所述
谷歌搜索skia显示了 skia screen shot

Device backends for Skia currently include:这意味着什么? skia是否也是一个前端/接口,而其他人可能使用openGL来实现它? 或
skia也是一个等同于openGL和directX的库?


或者直截了当的问题是 什么库(可以与openGL / directX相比)使用chrome来渲染我的计算机中的内容?

我在没有特殊GPU的戴尔笔记本电脑上使用Windows 7。

3 个答案:

答案 0 :(得分:2)

Chrome和Firefox都使用ANGLE(几乎原生图形图层引擎)将OpenGL ES 2层叠在Direct3D 9之上,以实现WebGL。

根据ANGLE website“Chrome使用ANGLE进行Windows上的所有图形渲染,包括加速的Canvas2D实施和Native Client沙盒环境。”

所以,当你问Chrome是否使用DirectX或OpenGL时...唯一真正的回答方法是,这是一个弗兰肯斯坦的怪物。这是 ,他们最终希望OpenGL ES成为核心图形子系统,但由于它在Windows上不可用,所以他们决定启动一个将ES层叠在一起的项目。 D3D9。

这对我来说似乎是一种愚蠢的方法,因为OpenGL可能更容易分层。毫不奇怪,许多人报告说,通过禁用ANGLE并在Win32上使用原生OpenGL来获得显着更好的WebGL性能。

答案 1 :(得分:0)

浏览器有很多软件层可以在不同的硬件和操作系统上运行。 一个这样的图层可以是图形。

我不知道Skia ......但我想它是用于执行渲染的DirectX / OpenGL / GDI之上的一层。

我认为大多数渲染都是使用软件渲染器完成的,只有一部分是硬件加速的。这样它几乎可以在所有设备上运行。

如此处所示 - https://code.google.com/p/skia/ - 该库用于2D渲染,可以支持不同的底层Apis:GL,DX ......甚至渲染为PDF。所以这是建立在其他Gfx apis之上的。 Skia不等于GL。

答案 2 :(得分:-4)

WebKit的底层图形库称为Cairo。 Cairo主要是一个软件渲染库,但可以在某些平台上使用OpenGL或OpenVG来实现某些功能。 Skia是早期Android版本的主要图形库,但已被OpenGL ES取代。 Chrome是一个有很多层次的怪物。