从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等,那么绘画速度非常快。任何提示?
答案 0 :(得分:1)
解决!
真正快速使用:
NSImage * image = [ [ NSWorkspace sharedWorkspace ] iconForFile: bundleName ];
使用非常慢:
NSImage * image = [ [ [ NSImage alloc ] initWithContentsOfFile: filename ] autorelease ];