仅仅是个好奇问题。
我知道:
Skia、Cairo:库
Direct2D:API
但是,在没有任何额外组件的情况下,仅在 Windows 平台上,哪一个承载了最多功能?我不是在谈论性能或编程简单性。
Cairo 是否有可能在 Windows 平台上使用 D2D 作为呈现后端?
仅仅是个好奇问题。
我知道:
Skia、Cairo:库
Direct2D:API
但是,在没有任何额外组件的情况下,仅在 Windows 平台上,哪一个承载了最多功能?我不是在谈论性能或编程简单性。
Cairo 是否有可能在 Windows 平台上使用 D2D 作为呈现后端?
我在Sciter中同时使用这三种图形后端,所以您可以比较它们的运行效果。
截至今天(2017年11月20日):
就功能而言,Skia和Direct2D具有相同的功能集。并且两者在功能上都超越了Cairo。
从这三个选项中,只有Direct2D(Direct2D v 1.1)支持打印。而Skia和Cairo则可以生成PDF文件,因此对于真正的打印,您需要使用第三方工具。
Direct2D与DirectX有很好的集成 - 它们可以在同一个DXGI设备上工作。
但是将Skia与现有的3D OpenGL代码集成起来并不那么容易。即使Skia可以使用OpenGL后端,它也会更改OpenGL设备的状态,从而导致问题。
使用Direct2D,您可以达到60-250 FPS。
在Windows上,当与OpenGL后端一起使用时,Skia的性能可能比Direct2D要好。但实际情况可能有所不同。
在Windows上,建议使用Direct2D或Skia。
在MacOS上 - 明确使用带有OpenGL后端的Skia。它比Mac的本地CoreGraphics要好得多。
在Linux / GTK上:使用Cairo,因为这是GTK / Gnome 3上的默认渲染API。而Cairo在那里运行得非常出色。