【问题标题】:What graphic library does chrome use [closed]chrome使用什么图形库[关闭]
【发布时间】:2013-09-15 05:55:31
【问题描述】:

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

所以我开始googling,结果是:

chrome使用webKit渲染html页面。

googling for webkit 揭示了 >> webkit 只是一个前端。

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

搜索skia 显示

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


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

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

【问题讨论】:

    标签: google-chrome opengl rendering chromium skia


    【解决方案1】:

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

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

    所以,当你问 Chrome 是使用 DirectX 还是 OpenGL 时……唯一真正的答案是,它是科学怪人的怪物。 两者兼而有之,他们最终希望 OpenGL ES 成为核心图形子系统,但由于它在 Windows 上不可用,他们决定启动一个项目,将 ES 置于其之上D3D9。

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

    【讨论】:

    • 这是信息丰富的...但我认为我的问题不够清楚......“当你问 Chrome 是使用 DirectX 还是 OpenGL 时”我不是在 webGL 的上下文中问,但 chrome UI 和简单的网页。
    • @user2410148:是的,我也是。它也使用 ANGLE 进行 Canvas2D(HTML5 渲染)。
    • 但是 Chrome 使用什么来呈现简单的东西,例如按钮、标签、字段等?
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • Skia 没有被替换,Android 和 Chrome 仍在使用,见code.google.com/p/skia。 OpenGL ES 是一个底层,有时被 Skia 使用(也可能直接用于 3D/WebGL/等)。
      • Chrome 在所有平台上一直使用 Skia(不是 Cairo)作为其 2D 绘图库。
      • 我在这里说的是 WebKit,而不是 Chrome,是的,原始的基本图形库是 Cairo。 Skia 还没有被完全取代(目前),但随着 Android 平台的新版本越来越多地使用 OpenGL ES,它正朝着这个方向前进。
      猜你喜欢
      • 1970-01-01
      • 2012-05-05
      • 2011-10-09
      • 2010-10-11
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多