我正在 Pygame 中编写一个简单的自上而下的 rpg,我发现它很慢……虽然我不希望 python 或 pygame 与使用编译语言(如 C/C++ 或事件字节编译)制作的游戏的 FPS 相匹配像 Java,但 pygame 目前的 FPS 仍然是 15。我尝试渲染 16 色位图而不是 PNG 或 24 位图,这略微提高了速度,然后在绝望中,我将所有内容切换为黑白单色位图,然后使 FPS 达到 35。但不会更多。现在根据我读过的大多数游戏开发书籍,为了让用户对游戏图形完全满意,2d 游戏的 FPS 至少应该是 40,那么有什么方法可以提高 pygame 的速度吗?
原文由 ApprenticeHacker 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 Psyco,对于 python2:
另外,启用双缓冲。例如:
如果不需要,您也可以关闭 alpha:
与其每次都翻转整个屏幕,不如跟踪更改的区域并只更新那些区域。例如,大致像这样(主循环):
大多数(全部?)绘图函数返回一个矩形。
您还可以只设置一些允许的事件,以便更快速地处理事件:
此外,我不会费心手动创建缓冲区,也不会使用 HWACCEL 标志,因为我在某些设置中遇到过问题。
使用它,我已经为小型 2d 平台游戏实现了相当不错的 FPS 和平滑度。