Ниже приведен мой алгоритм для анимации затухания для окна Tkinter:
def schedAnim(tkRootWindow):
fadeout = Timer(launcher, [tkRootWindow])
fadeout.start()
def launcher(tkRootWindow):
alpha = tkRootWindow.attributes("-alpha")
def fadeAlpha(alpha):
if alpha < 0:
tkRootWindow.quit()
else:
tkRootWindow.attributes("-alpha", alpha)
alpha -= .02
tkRootWindow.after(32, fadeAlpha, alpha)
tkRootWindow.after(2, fadeAlpha, alpha)
return
Этот алгоритм работает хорошо, и я вижу анимацию по большей части.Единственная проблема на экране 1280x720, есть разрыв.
Мое лучшее предположение, что для этого окна Tkinter не происходит двойной буферизации.Или аппаратное обеспечение RPi не способно обрабатывать анимацию 30 FPS в полноэкранном окне.
Моя текущая конфигурация:
- Raspberry Pi 3 модель B
- Xorg +Metacity
То, что я пробовал до сих пор:
- Проверено на комбинации xcompmgr + Openbox
- Увеличена графическая память с 64 до 256 МБ
- Попробовал с помощью tkRootWindow.update () и tkRootWindow.update_idlestasks ()
Ничего из этого не помогло мне.
Я что-то упустил?