python - 加快动画 gif kivy 的加载

标签 python python-3.x 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 的情况下对其进行测试,然后自己弄清楚。

关于python - 加快动画 gif kivy 的加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33794245/

相关文章:

python - 如何迭代和删除 networkx 有向图中的特定边

python - 弹出窗口中的 Kivy 按钮不调用函数

android - 在使用 python 编码的 Android 应用程序中使用蓝牙

python - 在 Python C API 中,如果未设置第二个参数,如何默认为第一个参数的值?

python - 如何将文本放在 3D 条形图的顶部

Python3逐行读取混合文本/二进制数据

python - 在列表中排序列表

python - 异构 DataFrame 上的 StratifiedKfold

python - 这个简单的密码算法是否足够强大?

python - 当我使用屏幕管理器 : kivy. uix.screenmanager.ScreenManagerException: No Screen with name "display"时,出现此错误