G
George Valkov
I noticed that when I try to open a picture from my desktop, Windows Picture
and Fax Viewer shows immediately, indicating the "Generating Preview..."
status for about 7 seconds, and there is extreme disk activity all the time.
After that the picture is displayed.
The same happens every time I click on a picture file, to open it.
I decided to investigate what is wrong, so I used Sysinternals Process
Explorer to pause the process during "Generating Preview...", then I
examined the stack, but only found genuine Microsoft DLLs, the active thread
was using some file system filter which was causing the disk activity.
Then I examined what files were accessed using Sysinternals Process Monitor.
I was astonished to find that Windows Picture and Fax Viewer succeeded to
scan all directories on all hard-disks (I have more than 300 000 files and a
lot of directories) in just 7 seconds!
But why on Earth would it do so? What a bad design from Microsoft! - I asked
it to show me a picture, but it scanned all directories on all disks - every
single one was in the log of Process Explorer!
A little more investigation and I found that this problem will only occur,
if in the same directory where the picture is, there are one or more
shortcuts that point to deleted target.
Gotcha! Windows Picture and Fax Viewer was trying to repair my shortcuts!
This is not part from Explorer, but the Picture Viewer DLL it self. I can
show the File Open or File Save dialog box from any program, then show all
files on the desktop, right-click a picture and select Preview -- and it
will scan all directories on all disks trying to repair the missing
shortcuts.
This is not a good design. Windows should only ask me about broken shortcuts
when I click on them, not when I click on other files. Yes, right... it
didn't ask me, it just consumed resources in the background.
and Fax Viewer shows immediately, indicating the "Generating Preview..."
status for about 7 seconds, and there is extreme disk activity all the time.
After that the picture is displayed.
The same happens every time I click on a picture file, to open it.
I decided to investigate what is wrong, so I used Sysinternals Process
Explorer to pause the process during "Generating Preview...", then I
examined the stack, but only found genuine Microsoft DLLs, the active thread
was using some file system filter which was causing the disk activity.
Then I examined what files were accessed using Sysinternals Process Monitor.
I was astonished to find that Windows Picture and Fax Viewer succeeded to
scan all directories on all hard-disks (I have more than 300 000 files and a
lot of directories) in just 7 seconds!
But why on Earth would it do so? What a bad design from Microsoft! - I asked
it to show me a picture, but it scanned all directories on all disks - every
single one was in the log of Process Explorer!
A little more investigation and I found that this problem will only occur,
if in the same directory where the picture is, there are one or more
shortcuts that point to deleted target.
Gotcha! Windows Picture and Fax Viewer was trying to repair my shortcuts!
This is not part from Explorer, but the Picture Viewer DLL it self. I can
show the File Open or File Save dialog box from any program, then show all
files on the desktop, right-click a picture and select Preview -- and it
will scan all directories on all disks trying to repair the missing
shortcuts.
This is not a good design. Windows should only ask me about broken shortcuts
when I click on them, not when I click on other files. Yes, right... it
didn't ask me, it just consumed resources in the background.