NSImage(来自icns)慢画

时间:2012-07-04 18:56:57

标签: graphics graphics2d nsimage

从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等,那么绘画速度非常快。任何提示?

1 个答案:

答案 0 :(得分:1)

解决!

真正快速使用:

NSImage * image = [ [ NSWorkspace sharedWorkspace ] iconForFile: bundleName ];  

使用非常慢:

NSImage * image = [ [ [ NSImage alloc ] initWithContentsOfFile: filename ] autorelease ];
相关问题