[Development] Fixing file dialog performance on Windows

Shaw Andy Andy.Shaw at digia.com
Thu Mar 21 06:05:00 CET 2013


> The file dialog takes up to 30 seconds to be usable if we're listing
> files on a USB or remote share with 10k files.
> 
> 
> The bottlenecks are QFileIconProvider::icon(const QFileInfo &info) and
> QFileInfo::isSymLink().
> 
> 
> I solved the icon problem by looking them up in the registry, by
> extension, and caching them.

I assume that for executables you look it up directly or is that stored in the registry too?

> For the isSymLink() issue, I discussed with fkleint and rittk and we
> kind of agree that we should simply check if the file extension is
> .lnk, instead of calling GetFileAttributesEx.
> 
> 
> The Windows native file dialog does not resolve NTFS symlinks, only
> .lnk, so we would be consistent with it.
> 
> 
> Any objection?

None from me at least, I will be glad to see this issue get resolved after all this time :)

Andy


More information about the Development mailing list