tkinter窗口性能与快速动画



每当我制作一个动画,其中有新的东西正在快速绘制,当tk打开时,动画比应该的慢得多

然而,tk窗口的速度在这些情况下会发生变化:

  1. "按住"tk窗口-它停止,然后继续得更快,但不完全符合要求
  2. 发布时-它以缓慢的速度继续(就像tk第一次打开时一样(
  3. 移动tk窗口-移动得越快,动画就越快
  4. 猛烈摇晃-摇晃后释放,最终使其保持必要的速度

您可以在此处观察到:

import random
import time
import tkinter
canvas = tkinter.Canvas(width=1000, height=600, bg='#003359')
canvas.pack()
raindropsF = {}
raindropsB = {}
canvas.create_rectangle(0,510,1000,600,fill='#232323',outline='#232323');
def raining():
rainingF()
rainingB()
def rainingF():
for iF in list(raindropsF):
if raindropsF[iF] < 550:
raindropsF[iF] += 20
canvas.move(iF, 0, 20)
else:
canvas.delete(iF)
del raindropsF[iF]
xF = random.randint(0, 1000)
iF = canvas.create_line(xF, 0, xF, 20, fill='#00CCFF', width=3)
raindropsF[iF] = 0
canvas.after(10, rainingF)
def rainingB():
for iB in list(raindropsB):
if raindropsB[iB] < 520:
raindropsB[iB] += 10
canvas.move(iB, 0, 10)
else:
canvas.delete(iB)
del raindropsB[iB]
xB = random.randint(0, 1000)
iB = canvas.create_line(xB, 0, xB, 20, fill='#0077BB', width=1)
raindropsB[iB] = 0
canvas.after(10, rainingB)
raining()

那么有没有一种方法可以使tk窗口的性能与保持一致

(我没有慢速电脑(

添加此选项可保持的速度一致

tkinter.mainloop()

从未发现它有用,似乎只在100ms tk窗口刷新下产生影响

最新更新