当从icns文件构建NSImage,然后将其绘制在ImageAndTextCell上时,它的速度非常慢。但是如果我从 png、jpg 等创建 NSImage,它会画得非常快。
如何加快速度?从 icns 创建 jpg(等)?保留创建的 NSImages 的缓存?
感谢您的建议,谢谢
更新(来自下面的评论):
似乎这是加载 icns 文件时减慢执行速度的代码:
NSImage * image = [ [ [ NSImage alloc ] initWithContentsOfFile:
filename ] autorelease ];
呼叫自: -
( id ) tableView : ( NSTableView * ) aTableView objectValueForTableColumn :
( NSTableColumn * ) aTableColumn row : ( NSInteger ) rowIndex
如果我删除它,那么NSTableView绘画非常快。当它不是icns文件,而是jpg,png等时,绘画速度非常快。有什么提示吗?
解决了!
真正快速使用:
NSImage * image = [ [ NSWorkspace sharedWorkspace ] iconForFile: bundleName ];
使用非常慢:
NSImage * image = [ [ [ NSImage alloc ] initWithContentsOfFile: filename ] autorelease ];