为什么SDL这么慢,我怎样才能让它运行得更快?

时间:2010-10-07 19:59:19

标签: performance graphics 2d sdl

我有以下测试设置:

  • 使用SDL_HWSURFACE创建的1024 * 768屏幕表面
  • 主循环仅包含SDL_Flip()和简单的FPS计数器

问题是:

我只用这个大约1000 FPS。当你认为你甚至没有画任何东西时,这真的很低!

当我继续在屏幕上显示相当大的表面时,FPS下降得非常快。

我想做什么:

每像素像素效果/物理可破坏地形/物体游戏。

  • 为什么SDL这么慢? (我用小例子测试玩了三天左右,消除了我可能犯的每一个错误,所以我很确定它确实是SDL的错误)

  • 是否有任何秘密技巧可以让它更快地运行?

  • 是否有其他2D API可以提供简单快速的单像素访问?

2 个答案:

答案 0 :(得分:0)

像素访问它在硬件表面上非常慢(这是硬件限制,而不是sdl限制)。

您可以尝试SFML加速OpenGL。

答案 1 :(得分:0)

请注意,调用SDL_HWSURFACE并不总是会导致使用硬件,具体取决于您的图形卡。