一个好奇的问题。
我知道:
Skia,开罗:图书馆
Direct2D:API
但是没有任何额外的组件,专门在Windows平台上,哪个功能最多?我不是在谈论性能或编程的简单性。
Cairo 有没有可能在 Windows 平台上使用 D2D 作为渲染后端?
最佳答案
我在 Sciter 中使用了所有三个作为图形后端,因此您可以在实际操作中比较它们。
截至今日:
功能集:
Skia 和 Direct2D 的功能集相当。
两者都是开罗的功能明智的超集。
在这三个中,只有 Direct2D (Direct2D v 1.1) 支持打印。 Skia 和 Cairo 能够生成 PDF,因此对于真正的打印,您将需要 3rd 方工具。
3D集成:
Direct2D 与 DirectX 有很好的集成——它们可以在同一个 DXGI 设备上工作。
但是,将 Skia 与现有的 3D OpenGL 代码集成起来并非易事。即使 Skia 可以与 OpenGL 后端一起工作,它也会改变 OpenGL 设备的状态并产生问题。
表现:
使用 Direct2D,您可以达到 60-250 FPS。
在 Windows 上,Skia 与 OpenGL 后端一起使用时可能会比 Direct2D 更好地工作。但是YMMV。
平台:
在 Windows 上,我建议使用 Direct2D 或 Skia。
在 MacOS 上 - 绝对是带有 OpenGL 后端的 Skia。它明显优于 Mac 的原生 CoreGraphics。
在 Linux/GTK 上:使用 Cairo,因为这是 GTK/Gnome3 上的默认渲染 API。开罗在那里工作得很好。
关于2d - Skia vs Cairo vs Direct2D,哪个功能最丰富?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46526178/