Python - Pygame突然放缓

时间:2015-08-03 14:58:23

标签: python python-2.7 memory pygame

我正在使用Pygame在Python中编写3D引擎。对于前300个左右的帧,渲染140个多边形需要大约0.004到0.006秒。但在那之后,它突然平均需要大约0.020秒才能执行相同的任务。这对我来说很重要,因为这是一个小规模的测试,尽管50 FPS是体面的,但它不能维持在1000多边形,例如。

我已经对我的代码进行了大量精简。我还做了一些稍微深入的分析,似乎增加的时间或多或少按比例分配,这表明问题不是特定于单个代码。

我认为这个问题与内存使用有关,但我不确切知道为什么会出现这个问题。导致这种情况发生的具体问题是什么,如何优化我的代码来修复它,以及一些更普遍的做法?由于我的代码很长,因此会发布here

1 个答案:

答案 0 :(得分:1)

虽然我无法准确回答你的问题,但我会使用任务管理器并观看" python" (或" pygame"取决于您的操作系统)进程,并查看它的内存消耗。如果结果是问题,你可以查看一段时间后你不需要的变量,然后你可以清除这些变量。

编辑:某些CPU具有数据丢失防护系统。我的意思是: 如果应用程序X占用CPU的40%(它不必那么高)。经过一段时间后,CPU将限制允许应用程序X使用的CPU数量。这可能导致诸如此类的事情变慢。 (大多数)游戏都不会发生这种情况,因为它们会设置为告诉CPU预期会有这么多的压力。