NSImageView中的动画GIF

时间:2011-04-11 20:43:57

标签: cocoa gif animated-gif nsimageview

我正在使用 NSImageView 来显示大约80帧的动画GIF,每帧长20ms。 NSImageView 可以“开箱即用”显示GIF动画,但问题是它需要太多的CPU,大约连续10%(在我的核心i5 proc上)。 Instruments 表明它花费了大量的CPU时间来解码GIF。

为了提高效率,我尝试了以下方面但没有取得多大成功:

  • 将帧放入 QTMovie 并播放(我的进程使用4%,播放电影的QTKitServer进程使用15%)

  • 使用 CGContextDrawImage (〜5%CPU使用率)直接绘制到视图 - 我没有导出GIF的帧,我刚创建了一个 CGImageRef 一个30x30px .p​​ng,我躺在那里。

我不知道还有什么可以尝试的。子类化 NSImageView 并以某种方式缓存图像听起来是个好主意,但是,唉,我是Cocoa的初学者......任何想法都会受到高度赞赏。谢谢!

0 个答案:

没有答案