Graphics n图像(来自icns)慢速绘制

Graphics n图像(来自icns)慢速绘制,graphics,graphics2d,nsimage,Graphics,Graphics2d,Nsimage,当从icns文件构建NSImage,然后将其绘制在ImageAndTextCell上时,速度非常慢。但是如果我从png、jpg等创建NSImage,它的绘制速度非常快 如何加速?从ICN创建jpg(etc)?是否保留已创建NSImages的缓存 谢谢你的建议 更新(来自下面的评论): 这似乎是加载icns文件时减慢执行速度的代码: NSImage * image = [ [ [ NSImage alloc ] initWithContentsOfFile:

当从icns文件构建NSImage,然后将其绘制在ImageAndTextCell上时,速度非常慢。但是如果我从png、jpg等创建NSImage,它的绘制速度非常快

如何加速?从ICN创建jpg(etc)?是否保留已创建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 ];

这似乎是加载icns文件时减慢执行速度的代码:NSImage*image=[[[NSImage alloc]initWithContentsOfFile:filename]autorelease];从以下位置调用:-(id)tableView:(NSTableView*)aTableView objectValueForTableColumn:(NSTableColumn*)aTableColumn row:(NSInteger)rowIndex如果删除它,则NSTableView绘制速度非常快。当它不是icns文件,而是jpg、png等文件时,绘制速度非常快。有什么提示吗?例如bundleName是MyApp.app,文件名是MyApp.icns