Beim Versuch, ein sequenzielles Bild .zip (im Gegensatz zu einem .gif) auf Kivy über Rasberry Pi (PipaOS / Raspbian) mit dem kivy.uix.image-Include zu "spielen", scheinen die ersten 20 Frames ohne Probleme abzuspielen , dann den Rest ausschneiden.
Die verbleibenden sequentiellen Bildframes werden als einfache schwarze Leinwand angezeigt, die Framedauer scheint jedoch noch zu gelten. (Die Schleife eines sequentiellen Bildes würde normalerweise ~3 Sekunden dauern, das Bild wird nach ~0,8 Sekunden schwarz, bleibt für die nächsten 2,2 Sekunden schwarz und startet die Schleife neu.)
Code zum Testen:
''' to be saved as main.py '''
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.image import Image
from kivy.uix.boxlayout import BoxLayout
Builder.load_string('''
<Interface>:
orientation: 'vertical'
Image:
source: 'loader_anim.zip'
anim_delay: 0.05
''')
class Interface(BoxLayout):
pass
class SettingsApp(App):
def build(self):
return Interface()
SettingsApp().run()
''' save this [https://github.com/LovelyHorse/prometheus/blob/master/assets/loader_anim.zip?raw=true] file in the same directory as "loader_anim.zip", and run main.py '''
Möchten Sie dieses Problem unterstützen? Setzen Sie ein Kopfgeld darauf aus! Wir akzeptieren Prämien über Bountysource .
Ich sollte auch erwähnen, dass dieselbe .zip-Datei perfekt unter Windows angezeigt wird.
+1 dazu. Habe es auch mit einem anderen Reißverschluss getestet, gleiches Problem.
Für Leute, die sich diesen Thread immer noch ansehen, ist dies wahrscheinlich kein Kivy-spezifisches Problem. Ich hatte das gleiche Problem und löste es schließlich, indem ich den Speicher für die GPU in meinem Raspberry Pi erhöhte. Es scheint, dass Kivy nicht in der Lage ist, die gesamte Animation von PNGs in den Speicher zu laden, und es schneidet nur die Bilder aus, für die kein Platz vorhanden ist. Dies erklärt auch, warum das Zeug unter Windows einwandfrei funktioniert (wo Speicher im Allgemeinen kein Problem ist). Die Lösung scheint, wie gesagt, darin zu bestehen, der GPU mehr Speicher zuzuweisen oder die Qualität Ihrer PNGs leicht zu verringern (z. B. TinyPNG.com). Hoffe das hilft!
Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivität gab. Es wird geschlossen, wenn keine weiteren Aktivitäten stattfinden. Vielen Dank für Ihre Beiträge.
Hilfreichster Kommentar
Für Leute, die sich diesen Thread immer noch ansehen, ist dies wahrscheinlich kein Kivy-spezifisches Problem. Ich hatte das gleiche Problem und löste es schließlich, indem ich den Speicher für die GPU in meinem Raspberry Pi erhöhte. Es scheint, dass Kivy nicht in der Lage ist, die gesamte Animation von PNGs in den Speicher zu laden, und es schneidet nur die Bilder aus, für die kein Platz vorhanden ist. Dies erklärt auch, warum das Zeug unter Windows einwandfrei funktioniert (wo Speicher im Allgemeinen kein Problem ist). Die Lösung scheint, wie gesagt, darin zu bestehen, der GPU mehr Speicher zuzuweisen oder die Qualität Ihrer PNGs leicht zu verringern (z. B. TinyPNG.com). Hoffe das hilft!