Windows – Why does Windows limit icon overlays to 15

dropboxiconstortoise-svnwindowswindows-registry

We can see endless questions about Dropbox vs TortoiseSVN vs many other apps icon overlays conflicts.

Two examples:
Why are Icon Overlays (from 3rdParty-Apps) not showing up in the Win8 Explorer?
Can I prevent the change of overlay icons?

In my case, I only have Dropbox and TortoiseSVN. Dropbox is really becoming annoying – after every update, I need to run a script I made that deletes Dropbox's overlays from registry and then restarts Windows Explorer.

I understand that Windows limits overlays to 15 probably because of performance.
However, would increasing to 25~35 cause a huge performance impact?
Why hasn't Microsoft realized yet that this is a very popular issue and tried to make a fix for this?
Why isn't there, at least, an option that advanced users can change to increase this limit?

Best Answer

In my case, I only have Dropbox and TortoiseSVN. Dropbox is really becoming annoying - after every update, I need to run a script I made that deletes Dropbox's overlays from registry and then restarts Windows Explorer.

Remove any unused overlays from the following location:

  • KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIcon‌​OverlayIdentifiers

  • KEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explor‌​er\ShellIconOverlayIdentifiers

Source: Why are Icon Overlays (from 3rdParty-Apps) not showing up in the Win8 Explorer?

Would increasing to 25~35 cause a huge performance impact?

Since the current limit cannot be changed its not possible for us to predict what sort of performance impact there would be if the limit was increased.

Why hasn't Microsoft realized yet that this is a very popular issue and tried to make a fix for this?

I would presume it effects less people then you think it does. Only somebody, from the Windows Shell team, would actually know this answer. Until Microsoft makes their decision decision known, we can only make educated guesses, which basically would be that nobody has increased the limit.

Why isn't there, at least, an option that advanced users can change to increase this limit?

Only somebody, from the Windows Shell team, would actually know this answer. Until Microsoft makes their decision decision known, we can only make educated guesses, which basically would be that nobody has written the code to allow us to increase the limit.

Raymond Chen a Microsoft Developer says the following about icon overlays

Generally speaking, overlays are not a good way of presenting information because there can be only one overlay per icon, and there is a limit of 15 overlays per ImageList. If there are two or more overlays which apply to an item, then one will win and the others will lose, at which point the value of the overlay as a way of determining what properties apply to an item diminishes since the only way to be sure that a property is missing is when you see no overlay at all. (If you see some other overlay, you can't tell whether it's because your property is missing or because that other overlay is showing instead of yours.)

Mr. Chen also stated:

Another example of applications having a selfish view of performance came from a company developing an icon overlay handler. The shell treats overlay computation as a low-priority item, since it is more important to get icons on the screen so the user can start doing whatever it is they wanted to be doing. The decorations can come later. This company wanted to know if there was a way they could improve their performance and get their overlay onto the screen even before the icon shows up, demonstrating a phenomenally selfish interpretation of "performance".

Source: What are those little overlay icons: Windows 7 edition