Python. Почему скорость программы реагирует на движение мышью?

Код на передвижение объекта по нажатию WASD. Если курсор в пределах окна и мышь в движении- скорость работы приложения увеличивается. Почему так происходит?

from tkinter import *

root = Tk()

canvas = Canvas(root, width=600, height=600)
canvas.pack()

id1 = canvas.create_oval(50, 50, 80, 80, fill='red')

action_keys = set()

def pressed_keys(event):
    action_keys.add(event.keysym)

def released_keys(event):
    action_keys.remove(event.keysym)

def come():
    speed_x = -2 * ("a" in action_keys) + 2 * ("d" in action_keys)
    speed_y = -2 * ("w" in action_keys) + 2 * ("s" in action_keys)
    canvas.move(id1, speed_x, speed_y)
    root.after(5, come)

come()

canvas.bind_all('<KeyPress-w>', pressed_keys)
canvas.bind_all('<KeyPress-a>', pressed_keys)
canvas.bind_all('<KeyPress-s>', pressed_keys)
canvas.bind_all('<KeyPress-d>', pressed_keys)

canvas.bind_all('<KeyRelease-w>', released_keys)
canvas.bind_all('<KeyRelease-a>', released_keys)
canvas.bind_all('<KeyRelease-s>', released_keys)
canvas.bind_all('<KeyRelease-d>', released_keys)

root.mainloop()

Ответы (1 шт):

Автор решения: Женя Невейко

Особенность tkinter. При реализации подобного на pygame данная проблема отсутствует.

→ Ссылка