如何调用可并行控制计算机播放器的Python函数

时间:2019-04-14 03:51:35

标签: python multiprocessing

我在Pygame上运行的Tetris具有相当实用的功能,在该游戏中玩家与CPU玩家竞争。 CPU播放器的工作方式包括强行执行其可能的最佳移动,然后计算到达该位置所需的移动。这全部通过单个函数ai.run运行,该函数将执行以下操作之一:

  1. 什么都没有,因为现在还没有时间让AI移动(有一个最大的反应时间使其可以被击败),
  2. 进行下一个动作以达到其预期位置,或者
  3. 花费约4/10秒的时间计算下一步行动。

此设置工作得很好,没有电脑播放器,它在我的低端和过度劳累的机器上始终能达到约55 FPS。但是,在需要计算下一步的帧上,它将下降到大约7 FPS,从而导致大约每3秒出现一次痛苦的停顿。因此,我认为解决方案是将计算机播放器移至单独的线程。

我已经研究了线程和多处理,但是无法弄清楚如何使它们做我需要做的事情。怎么办?

编辑:代码在这里可能很有用;您可以在this repository找到该程序。应该注意的是,由于我还没有找到任何类似于解决方案的东西,因此还没有实现多处理。

0 个答案:

没有答案