Ищете способ сделать принудительное кеширование kivy виджетов - PullRequest
0 голосов
/ 28 декабря 2018

В настоящее время я делаю встраиваемое мультитач-программное обеспечение, используя Kivy.Тем не менее, наши спецификации оборудования немного невелики, поэтому я пытаюсь оптимизировать графический интерфейс для повышения производительности.

Затем я обнаружил, что Kivy Popup работает медленно, когда сначала появляется всплывающее окно, а затем становится быстрее.Так что теперь я предполагаю, что Kivy выполняет некоторое кеширование.

Итак, я хочу, чтобы виджеты, особенно всплывающие окна и экраны, поскольку они очень медленные, действовали так, как когда-то были открыты раньше.

IЯ пытался открыть и закрыть все всплывающие виджеты и пройти все экраны при инициализации программы.Это кажется довольно эффективным, за исключением того, что я пока не могу понять, как скрыть смену экрана, но я ищу какой-то лучший подход.

Я искал kivy документ о kivy.cache здесь

Но неясно, ищу это я или нет.Кроме того, трудно понять, что я должен делать и чего ожидать в результате.(Кажется, это не работает так, как я хочу)

1 Ответ

0 голосов
/ 29 декабря 2018

Вероятно, было бы лучше найти то, что занимает больше всего времени при первом запуске, чтобы убедиться, что это кэшируется, вместо предварительной загрузки каждого возможного виджета.Одна возможность состоит в том, что он просто загружает текстуру стиля по умолчанию, которую вы можете загрузить, установив для источника любого виджета изображения значение images/defaulttheme-0.png, и первый виджет, которому он нужен (включая всплывающее окно), не будет загружать его сам, если вы это сделаете.Если вы обнаружите, что даже после отображения кнопки первое всплывающее окно все еще медленно загружается, то это, безусловно, что-то другое, возможно, запуск kivy на trace log_level поможет увидеть, что происходит последним перед замедлением.

python -c kivy:log_level:trace main.py

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