我怎样才能使这个 Tkinter 应用 运行 更快

How can I make this Tkinter app run faster

我在 Python Tk 中写了一个简单的 Conway 生命游戏,但是它太慢了!
在我的 PC 上,它 运行 还算不错,但在我学校的计算机上,它无法达到每秒 10 次刷新。我怀疑绘图部分滞后很多,我该如何解决?

def drawCells(self):
    self.board.delete(tk.ALL)
    for i in range(self.gridsize):
        for j in range(self.gridsize):
            if self.cnow[j][i] == 1: # cells now list
                rect = self.board.create_rectangle(
                    i * self.grid,
                    j * self.grid,
                    (i + 1) * self.grid,
                    (j + 1) * self.grid,
                    fill="#000000")

我不知道是否需要粘贴整个 class,但如果需要,我会附加其余代码。

我只能建议重写代码而不嵌入两个 for 循环(这会提高你的时间复杂度),但我不确定这是否会完全解决你的问题,因为我不知道是什么您的 class.

中还有其他情况

祝你好运!

在 canvas 上创建项目很慢,创建的越多就越慢(即使每次都删除它们)。相反,只需创建一次矩形,然后在每一代上简单地重新配置它们。

create_rectangle方法returns一个整数id。保存这些id,然后使用itemconfigure方法改变颜色。