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