NSImage(来自icns)慢画



当从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 ];

相关内容

  • 没有找到相关文章

最新更新