加快动画 gif kivy 的加载

speed up loading of animated gif kivy

有没有办法加快 kivy 加载动画 gif 的速度? kivy 是否有任何内置的方法,例如压缩或其他选项?我正在做的是使用动画 gif 作为我应用程序主屏幕的背景。它是矩阵,它有大约 30 个不同的帧来创建所需的效果。对于 30 个帧,我并不期望它会非常快,但是加载单个动画 gif 需要 5-10 秒似乎有点多。

我相信这可能对您有所帮助,我有一系列 png 文件,我想将其制作成爆炸动画,而这是一款不断发生爆炸的游戏。最初,每次播放动画时,游戏都会停滞不前并且卡顿得很厉害。这就是我为了让我的游戏顺利进入 运行 所做的。我压缩了 png 文件,并使用以下代码预加载它们,我将其放置在图像出现的 Screen 小部件的 __init__ 方法中。

load_zipped_png_files = Image(
    source = 'explosion.zip', 
    anim_delay = 0,
    allow_stretch = True, 
    keep_ratio = False,
    keep_data = True)

我相信 keep_data 选项允许预加载图像(我想象到缓存中),这样程序就不必在每次使用它们时重新加载它们。

现在可能是我弄错了 keep_data 在这里扮演的角色(如果阅读这篇文章的人知道得更多,请纠正我),但是压缩文件并以这种方式使用它们肯定使动画流畅得令人满意。您可以在使用和不使用 keep_data = True 的情况下对其进行测试,然后自己弄清楚。

对我来说,它只是工作,因为我需要 gifs 扩展图像:

Image(
source= 'image.gif', 
anim_delay= 0,
mipmap= True,
allow_stretch= True)

添加了 mipmap,以便使用 OpenGL 增强纹理。