加快动画gif kivy的加载

时间:2015-11-19 02:32:42

标签: python python-3.x kivy

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

2 个答案:

答案 0 :(得分:4)

我相信这可能会对你有所帮助,我有一系列png文件,我想让它们在爆炸中动画,这是一个爆炸不变的游戏。最初,每次动画发生时,游戏都会停滞不前并且结结巴巴。这就是我为让我的游戏顺利运行而采取的措施。我压缩了png文件,并使用以下代码预加载它们,我将其置于图像出现的__init__小部件的Screen方法中。

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进行测试,并自行计算出来。

答案 1 :(得分:0)

对我来说,它只是按需要为gif扩展图像提供了效果:

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

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