iPad全屏(1024x768)动画有1800帧左右的问题。低FPS

时间:2010-06-08 12:39:45

标签: objective-c animation ipad

我要做的是在iPad上以大约20 fps的速度播放全屏(1024x768)动画。我有一个1800全屏帧的场景。到目前为止,我已经尝试了很多方法,但遇到了很多问题。

我的第一个方法是使用以下函数获取纹理

t = [[CCTexture2D alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"(%d)",startIndex] ofType:type]]];

使用setTexture方法将其赋予sprite,然后释放纹理,然后使用下一帧创建一个新纹理并重复该过程,但使用此方法我只得到大约7 fps。

我的第二种方法是在texturecache中预加载大约10个纹理,将它们保存在数组中并使用setTexture将它们赋予sprite,在后端我用线程中的新纹理替换旧纹理,但我面临的问题是创建新纹理并添加到数组需要一些时间,并且当调用settexture方法时,sprite会显示旧纹理,因为新纹理尚未加载但在一段时间后新纹理被加载。

有什么方法可以在iPad上以大约20 fps的速度运行全屏动画吗?请帮帮我!

由于

尔汉

1 个答案:

答案 0 :(得分:0)

听起来你的数据是原始的,即没有压缩。这将(正如您所注意到的)非常沉重,并且您很可能遇到带宽和/或处理问题。我不熟悉iPad,所以我不能说很多关于哪个是最有可能的;尝试一些分析。

我建议尝试压缩视频格式,以减少动画的带宽需求。