Что лучше ?: Удалить все элементы tkinter canvas и перерисовать их, или обновить элементы, используя Move? - PullRequest
0 голосов
/ 22 апреля 2020

Я работаю с симуляцией объектов (кругов), которые живут в 2-м мире (объекты движутся и могут взаимодействовать друг с другом, они сталкиваются). Для просмотра симуляции я использую модуль tkinter. Все переменные, которые определяют каждое состояние симуляции, вычисляются с использованием рекурсивной функции, которую я имею за пределами реализации tkinter (таким образом, я могу запустить симуляцию, не тратя время на рисование). Мой вопрос: как вы думаете, что было бы лучше для отрисовки состояний симуляции на холсте tkinter ?: удалить все предыдущие элементы состояния и перерисовать все новые элементы состояния для каждого нового состояния, или найти способ обновить положение элементов с использованием метода холста tkinter для каждого нового состояния.

1 Ответ

0 голосов
/ 22 апреля 2020

Лучше обновлять элементы, чем создавать новые. Вы не можете создавать неограниченное количество элементов на холсте, и чем больше элементов вы создали (даже если вы позже уничтожите их), тем медленнее будет холст. Хотя полотно может обрабатывать несколько тысяч элементов, как только вы начнете получать десятки тысяч, у вас начнутся проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...