ANGLE和Skia图形引擎有什么区别?



ANGLE是一个跨平台的图形引擎抽象层由谷歌开发。ANGLE团队将其描述为便携式的OpenGL。API主要是为了带来高性能而设计的OpenGL兼容Windows电脑和网络浏览器,如铬/谷歌Chrome翻译的OpenGL调用Direct3D,它有更好的驱动支持。

Skia Graphics Engine是一个用c++编写的图形库它抽象了特定于平台的图形API。

都是Google为支持openGL而开发的抽象层,并且都在Google Chrome中使用。

两者究竟有什么不同?

先说一下上下文。

OpenGL是一个编程图形卡的API。对OpenGL的API调用由GPU供应商(通常是Nvidia, AMD或Intel)的驱动程序转换为计算机中GPU卡的命令。

(其他编程gpu的api有Windows上的Direct3D, macOS上的Metal, Vulkan等)

这些api有点"低级",从某种意义上说,它们调用指令GPU对原始的"几何"/"像素"做什么。水平;这些api没有诸如"在这里画一个矩形"或"在那里画这个图像"之类的东西。

Web浏览器如Chrome为HTML5页面提供WebGL API。WebGL主要是OpenGL ES 2.0 API。

是一个将OpenGL ES 2.0 API转换为GPU API之一的库:您在桌面OpenGL中调用OpenGL ES 2, ANGLE转换为等效调用,或在Windows上转换为Direct3D,或在macOS上转换为Metal。

这给了你一个一致的OpenGL ES 2.0实现,这是Chrome想要的web。(这是超级有用的,因为Windows OpenGL实现因厂商而异,macOS很久以前就在4.1版本停止更新其OpenGL实现了)。

Skia是一个更高级的API,可以让你"在这里画一个矩形"然后在那里画出这个图像还有更多(绘制文本;画出路径;画曲线;等)这是通常的高级API,你可以在更高级的语言和Web Canvas API上获得。

为了实现这些调用,Skia将绘图命令转换为较低级别的api,如GL, Metal等。Skia可以瞄准的api之一是ANGLE,这样Skia绘图就可以在各个平台上获得一致的输出。

最新更新