用什么比较好? SFML 函数还是 OpenGL 函数?

What's better to use? SFML functions or OpenGL functions?

我在 SFML 和 OpenGL 中发现了许多类似的功能,例如加载纹理、着色器、精灵、形状等... 但我想知道:用什么更好? 真的有区别吗? SFML 函数/对象是否对用户更友好但速度较慢,而 OpenGL 函数是否更底层但速度更快?

这取决于你想做什么。简短的回答是 OpenGL 给了你更多的控制权并且更集中于图形,SFML 可以在没有外部库的情况下做更多的事情。没有 "better" 一个。

SFML 允许访问 PC 的音频、图形、网络、系统和 window 模块。
OpenGL 非常适合编写自定义 2D 或 3D 渲染应用程序,它访问 OS 的内部图形函数。

SFML 在底层使用 OpenGL,主要区别在于在 OpenGL 中,您将从头开始编写自己的 2D 或 3D 渲染器。 SFML 更容易使用,因为你自己做的更少。

至于性能,我没有任何基准测试,但如果您想编写游戏引擎,那么 OpenGL 会提供更多控制,因此它可以获得更高的性能,尤其是对于 3D。 SFML 足以用于小型游戏和应用程序。

正如我所说,这取决于你想做什么。我建议阅读更多关于这两者的信息。