我在Pygame上运行的Tetris具有相当实用的功能,在该游戏中玩家与CPU玩家竞争。 CPU播放器的工作方式包括强行执行其可能的最佳移动,然后计算到达该位置所需的移动。这全部通过单个函数ai.run
运行,该函数将执行以下操作之一:
此设置工作得很好,没有电脑播放器,它在我的低端和过度劳累的机器上始终能达到约55 FPS。但是,在需要计算下一步的帧上,它将下降到大约7 FPS,从而导致大约每3秒出现一次痛苦的停顿。因此,我认为解决方案是将计算机播放器移至单独的线程。
我已经研究了线程和多处理,但是无法弄清楚如何使它们做我需要做的事情。怎么办?
编辑:代码在这里可能很有用;您可以在this repository找到该程序。应该注意的是,由于我还没有找到任何类似于解决方案的东西,因此还没有实现多处理。