I've been having the same problem for a few weeks, trying every suggestion listed here and other forums but without success.... until tonight!
TL;DR: Run these 2 commands then reboot.
The problem did not happen when I tried a newly created user account so it pointed to something with my profile. I removed all the Preferences and Caches from my Library folder but the problem remained.
After examining the system logs, I noticed the following 2 errors would often appear when viewing a folder in the Finder.
12/16/14 12:24:29.908 AM com.apple.IconServicesAgent: main Failed to composit image for binding VariantBinding [0x2af] flags: 0x8 binding: FileInfoBinding [0x3bf] - extension: mov, UTI: com.apple.quicktime-movie, fileType: ????.
12/16/14 12:24:29.908 AM quicklookd: Warning: Cache image returned by the server has size range covering all valid image sizes. Binding: VariantBinding [0xa03] flags: 0x8 binding: FileInfoBinding [0x903] - extension: mov, UTI: com.apple.quicktime-movie, fileType: ???? request size:16 scale: 1
These are related to creating/loading icons for different file types. The Finder is hanging while attempting to draw the icons for the file listing so it made sense that it would lag if there were problems with the cache.
Since the IconServicesAgent isn't an application the user interacts with, the cache/prefs are not saved in the typical ~/Library/ folder but in a special hidden location used for OS-level apps and daemons. Every user has a Cache and Temp folder in this location at
/var/folders/. We just need to locate and rename the IconServicesAgent's files.
When a user account is created, the system generates a folder here for the user but named with 32 seemingly random characters. Since they are random, I can't give you an exact path but the TMPDIR environment variable can. (If you want to know, run the command
echo $TMPDIR to get the path to your own Temp folder. It will be something like
/var/folders/jc/vzc51tfn2jzbzqkr9j3g38gm0000gn/T/ but we don't really need it. The commands below will just use the variable directly)
Now rename the com.apple.IconServices folder in the T [temp] directory with this command.
Next we need to do the same in the Cache directory, which is in the same parent directory as the
T directory. This command will do what you need.
So now reboot your Mac and after you log back in, the Finder should be quick again.