我正在使用Pascal和SDL2.0.5进行Windows的2D游戏开发,随着开发的进展,它开始显示帧速率下降,特别是当我使用每个帧粒子时。我没有使用图形加速。我只是使用SDL2 API。我想问你:
答案 0 :(得分:1)
你确定吗?默认情况下,SDL2使用硬件加速,除非您使用我不使用图形加速。
SDL_CreateSoftwareRenderer
明确创建渲染器,或者首先不使用SDL_Renderer
。
对于Windows,我应该选择OpenGL还是Direct3d?
如果您使用SDL_Renderer
,请确保使用SDL_CreateRenderer
,并且SDL将使用它认为最适合其运行平台的内容。
否则,它并不重要,特别是对于2D游戏。在一个系统上,一个API可能胜过另一个系统,而在另一个系统上则相反。当你看一下大局时,两者的平均值在性能方面大致相同。由于您不关心可移植性,因此请选择最适合您的方式。
我会看到游戏性能发生重大变化吗?
是。几乎在所有情况下,硬件加速都更快。想到的唯一例外是你需要逐个像素地渲染帧。