NSImageView中的动画GIF

Vic*_*dan 10 cocoa gif animated-gif nsimageview

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

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

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

  • 绘图直接与视图CGContextDrawImage(〜5%的CPU使用率) -我没有出口的GIF的框架,我就创建了一个CGImageRef从30x30px巴纽我已经躺在附近.

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