SDL与SFML在可移植性最重要时使用C?

Min*_*wth 4 c opengl sdl cross-platform sfml

我一直在阅读有关SDL和SFML的大量内容,毫无疑问已经错过了一些信息或者我不理解它.这是我收集的内容:

  • SDL目前是标准(最受欢迎)
  • SDL使用C和软件渲染(这很慢?)
  • SDL嵌入一切?
  • SFML正变得越来越流行
  • SFML使用C++(但具有C绑定)并利用硬件加速渲染(快速)
  • SFML不会嵌入一切?

我必须使用C和OpenGL来做我想做的事情.我还需要确保程序尽可能便携.但它不能慢.

我该怎么办?

neo*_*phi 5

将OpenGl与SDL一起使用时,渲染由硬件完成,而不是由软件完成.我从未尝试过SFML,但SDL非常简单,它是一个成熟的库.用SDL编写了一些OpenGl后,我遇到的唯一问题就是不可能有多个带SDL的窗口.关于可移植性,我的程序适用于Linux,MacOS和Windows.目前,我没有任何理由切换到另一个库.


Ole*_*pin 5

SFML是一个更成熟的库.它运行良好,甚至可能比Windows,Linux,Mac OS上的SDL更好:

SFML在Windows(98,2000,XP,Vista)和Unix系统(Linux,Mac OS X)等标准平台上编译.随着库的增长,将增加对更多操作系统的支持.

此外,SFML从一开始就支持硬件加速,而对于SDL,则存在一些疑问.

但是,SDL现在可以在更多平台上运行,包括移动平台.

使用C语言,您可能无法从SFML的所有面向对象的优点中受益.

因此,您应该将SDL与C(或移动平台)和SFML与C++一起使用.


所以你想做2D的东西?不要乱用OpenGL,只需使用SFML!它在内部使用OpenGL和硬件加速来实现2D.