有什么方法可以加快Python和Pygame的速度吗?
|
我在Pygame中编写了一个简单的自上而下的rpg,但是我发现它非常慢。...尽管我不期望python或pygame与使用C / C ++或事件字节编译的编译语言制作的游戏的FPS相匹配像Java,但是pygame的当前FPS仍然是15。我尝试渲染16色位图,而不是PNG或24位图,这稍微提高了速度,然后无奈之下,我将所有内容都切换为黑白单色位图,使FPS升至35。现在,根据我阅读过的大多数游戏开发书籍,为了使用户对游戏图形完全满意,二维游戏的FPS至少应为40,那么有没有办法提高pygame的速度?
没有找到相关结果
已邀请:
6 个回复
烷刨画颠离
另外,启用双缓冲。例如:
如果不需要,也可以关闭Alpha:
不必每次都翻转整个屏幕,而是要跟踪已更改的区域并仅对其进行更新。例如,大致如下所示(主循环):
大多数(全部?)绘图函数都返回一个rect。 您还可以仅设置一些允许的事件,以更快地处理事件:
另外,我不会为手动创建缓冲区而烦恼,也不会使用HWACCEL标志,因为我在某些设置上遇到了问题。 使用此工具,我已经为小型2d平台实现了相当不错的FPS和平滑度。
抵浮细
据我所知,您对图像所做的任何转换都保留了此方法调用的性能。例如:
如果使用的图像上带有
,则图像变得多余。
涸坍饺
旋转和缩放也需要大量时间来计算。如果变形后的大图像是不可变的,则可以将其保存在其他图像中。 因此,想法是一次计算并多次重用结果。
扦帽次杏
2)确保通过绘制用户看不见的东西来浪费资源。例如:
这些是一些通用概念,可帮助我保持较高的FPS。
翰冒绢县
注意: 移动精灵时,必须从其最后位置开始将rect包括在列表中。
疏腔傻小雹