Kivy UI очень медленно на RPI - PullRequest
       17

Kivy UI очень медленно на RPI

0 голосов
/ 28 сентября 2018

Я использую Pi 3 Model B + с Raspbian Stretch Desktop.Я написал приложение на Python3 с Kivy UI.Позже приложение будет работать на сенсорном экране rpi.Тем не менее, Киви очень медленно.Когда я нажимаю на спиннер, у него уходит 3 секунды, пока он не отреагирует.

Как и предлагается здесь Raspberry Pi Python (Kivy) очень медленно с sudo Я добавил

  import os
  os.environ['KIVY_WINDOW'] = 'egl_rpi'

, ноэто не помогло.

как ускорить киви?или rpi просто не может рендерить kivy быстрее?

Это мой config.ini

[kivy]
keyboard_repeat_delay = 300
keyboard_repeat_rate = 30
log_dir = logs
log_enable = 1
log_level = info
log_name = kivy_%y-%m-%d_%_.txt
window_icon = 
keyboard_mode = 
keyboard_layout = qwerty
desktop = 1
exit_on_escape = 1
pause_on_minimize = 0
kivy_clock = default
default_font = ['Roboto', 'data/fonts/Roboto-Regular.ttf', 'data/fonts/Roboto-Italic.ttf', 'data/fonts/Roboto-Bold.ttf', 'data/fonts/Roboto-BoldItalic.ttf']
log_maxfiles = 100
window_shape = data/images/defaultshape.png
config_version = 20

[graphics]
display = -1
fullscreen = 0
height = 600
left = 0
maxfps = 60
multisamples = 2
position = auto
rotation = 0
show_cursor = 1
top = 0
width = 800
resizable = 1
borderless = 0
window_state = visible
minimum_width = 0
minimum_height = 0
min_state_time = .035
allow_screensaver = 1
shaped = 0

[input]
mouse = mouse
%(name)s = probesysfs,provider=hidinput

[postproc]
double_tap_distance = 20
double_tap_time = 250
ignore = []
jitter_distance = 0
jitter_ignore_devices = mouse,mactouch,
retain_distance = 50
retain_time = 0
triple_tap_distance = 20
triple_tap_time = 375

[widgets]
scroll_timeout = 250
scroll_distance = 20
scroll_friction = 1.
scroll_stoptime = 300
scroll_moves = 5

[modules]

1 Ответ

0 голосов
/ 29 сентября 2018

Может быть несколько причин, из-за которых ваше приложение замедляется, но сначала проверьте, является ли оно общим для всех приложений, или оно специфично для вас.Чтобы сделать это, я бы посоветовал вам попробовать простое приложение.

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='test')

TestApp().run()

медленно нажимает эту кнопку?Если это так, я бы посоветовал взглянуть на конфигурацию kivy в целом, возможно, попробуйте установить мультисэмплинг в настройках 0 или 1, проверьте журналы для использования подходящего провайдера окон и т. Д.

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

...