【发布时间】:2017-04-30 21:21:46
【问题描述】:
我发现当我调用 window.update 时,当向窗口写入的内容更少时,它的运行速度要快得多,但后来,当我向窗口写入更多元素时,window.update 需要更长的时间。
请参阅下面的代码。您可以看到它在更新窗口之前一次向屏幕添加 100 个新圆圈。
我的问题是:为什么它会随着时间的推移而变慢?一开始,刷新每秒发生多次。半分钟后,每秒一次左右……
起初这对我来说似乎很奇怪,因为我认为只需更改要刷新的像素,然后再刷新,每次都会保持相同的处理量。但后来我想……这东西会继续“跟踪”和“解释”我之前放置在窗口上的先前形状吗??
不管怎样,你对它为什么变慢有什么想法或答案吗?
from tkinter import *
from random import *
xsize=1000
ysize=1000
shapesize=10
window = Tk()
canvas = Canvas(window, width=xsize, height=ysize)
canvas.pack()
while True:
for l in range(100):
col=choice(['pink','green','orange','yellow','blue','purple','red','black','brown','gray'])
x=randint(0,xsize)
y=randint(0,ysize)
canvas.create_oval(x,y,x+shapesize, y+shapesize, fill=col)
window.update()
【问题讨论】:
标签: python python-3.x tkinter