我是 C++ 和 SDL 的初学者,但我已经开发游戏好几年了。
我选择 SDL 是因为它的简单性,因为我想要的只是 2D 游戏,但我并不满意。与表面一起工作的功能消耗了很多能量,说实话太多了。
当我第一次开始使用 SDL 时,我得到了 30 FPS。然后我发现要优化表面,帧率跃升至 60。此外,将像素格式从 24 位切换到 32 位也将其提高到 100。
在我看来,与其他用于游戏开发和编程语言的库相比,这种性能很弱。我一直认为这仍然是我的错,如果一切设置正确,我的 FPS 可能会飙升。
所以我不断测试,发现没有代码运行(不包括我的 FPS 指标)会产生 400 FPS。然而,使用 SDL_FillRect() 函数清除屏幕会将其降至 100。然后,对于每个绘制的精灵,帧速率会变得越来越低。
真的应该这么慢吗?