Today my computer came down with the icon slows. The desktop would open after boot but all the desktop icons were trash for a minute or two, and then would slowly paint one by one. Open an explorer window to view your files on disk, and again, the icons for each file painted one by one and slowly.
How does Windows paint all those icons, a different one for each program? The simple way is to put up a temporary icon, and then find the program to which the short cut points, open it, extract the icon pixels and paint them on the screen. This is slow. So, windows keeps a "shell icon cache" file, containing all the icons, so it only has to open one file, in a known place, to fetch every icon. Windows, being Windows, occasionally manages to mess up its own icon cache file. The messed up file do longer works, and so Windows reverts to the old slow "find each icon in the program file" process.
Fix. Run the CCleaner program. This is freeware/shareware which Google will find for you on the net. To fix just icons, select "Start Menu Shortcuts" and "Window size/Location Cache" and click on "Run Cleaner".
CCleaner is a general purpose cleaner upper, and can remove all sorts of un needed files. A CCleaner run can easily free up 100 megabytes of disk space. The program has two modes of operation. Analyze, which finds un wanted files and displays them to you, and "Run Cleaner" which finds unwanted files and deletes them. The cautious user will first analyze and carefully inspect the displayed files just to make sure they really are unwanted.
Some applications choose bad file name extensions which make CCleaner think the files are unwanted when they are indeed wanted. I remember ClearCase (a very expensive professional software source control system) which used the extension ".tmp" for its working files. Disk cleanup people and programs will always delete anything with "tmp" or "temp" in its name.