Hello,

In the past, I used FolderItem.IconFamily to get icons of files/folders inside 
a given folder and stored that into a file (using a BinaryStream). This was 
really fast, used very low CPU and the resulting file were compressed; all was 
nice.

Now that IconFamily is gone, I use the NSWorkspace way:

if Item=nil then Return nil

dim n As NSImageMBS=NSWorkspaceMBS.iconForFile(Item)
n.setSize Size,Size
Return n.CopyPictureWithMask

With this method, trying with the same folder as the “old” way (which contains 
only 25 files), each call to obtain an icon takes around 4-5 seconds, meaning 
around 30 seconds for all the sizes I take (with IconFamily, I didn't have to 
grab several “arbitrary” sizes to guess I saved all icons); 10 minutes were 
taken to treat the entire folder of 25 files. The CPU ran as 200% constantly 
for IconAgent and the resulting file is 234 Mb (the original folder being 16.8 
Mb).
Clearly, the NSWorkspace way isn't the good one for my needs (is that just used 
to show a single, eventual, icon to the user?). Which other method would work?

Thanks.
_______________________________________________
mbsplugins@monkeybreadsoftware.info mailing list
%(list_address)s
https://ml-cgn08.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

Reply via email to