问题描述
这是一个新手的问题
我正在尝试编写一个 evolution simulator。 (Requirement) 这意味着有很多应该相互交互的对象。我正在用 Python 编写代码(因为它是我知道的唯一语言),使用 Pygame 创建一个可视化 2D 环境。在我将树木添加到我的大陆之前,我做得很好。那是事情变得非常缓慢的时候,因为屏幕上有成千上万的树,每一帧都必须在那里。
我去掉了 pygame.display.flip()
而支持 pygame.display.update()
。这样做我遇到了两个
问题:
-
pg.draw.circle()
函数在移动时会留下痕迹。我以前遇到过这个函数的问题(显然,函数创建的矩形永远不会离开屏幕),但也许只是我做错了什么? -
到目前为止,我提出的优化解决方案充其量仍然是可疑的。如果您删除
bug.py
中的第 32 行,您将看到项目中的运行速度有多快。有没有办法让我的代码以这样的速度运行,或者至少接近这个速度?我的意思是,我要添加一百或更多其他虫子,所有虫子都吃植物和其他虫子,每个人都用他们的神经网络观察事物和思考,除非我优化代码,否则整个事情都会一团糟。
感谢大家的投入!
编辑:我觉得依靠 biomes
列表中对象的顺序而不是循环遍历 bug.update_biomes()
中的每个生物群落会显着提高处理速度,但您怎么看?
P.P.S.:另外,我刚刚发现 pygame.Surface.fill()
函数不需要更新。我在哪里可以看到 pygame 中的哪些函数需要更新,哪些不需要?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)