Why does Windows limit icon overlays to 15?
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\ShellIconOverlayIdentifiers
KEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\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
There's new blog post on the topic from Raymond Chen: Why is there a limit of 15 shell icon overlays? which goes into even more details, but the short version is: the reasons are compatibility with older versions and APIs, performance issues, and the fact that icon overlays are not recommended these days:
Basically it boils down to “It would be a lot of work and we are lazy.”
and also:
But the main reason this doesn’t get done is simply that overlays are not recommended as the way to convey metadata about a file to the user.
and:
Windows 10 takes a step away from icon overlays by moving the OneDrive file synchronization status indicator from an icon overlay to a separate Status column.
I also want to correct a misconception. Yes, there is a total 15 icons alloted, BUT It's actually 11 overlay icons available because Windows System reserves 4 for itself, so effectively it's 11 icons available for other programs. (15-4=11). This is according to official Microsoft support website (archived URL)
The number of icon overlay handlers that the system can support is limited by the amount of available space for icon overlays in the system image list. There are currently 15 slots allotted for icon overlays, 4 of which are reserved by the system. When there are more than 11 icon overlay handlers registered in the system, only the first 11 icon overlays that are provided by icon overlay handlers are added to the system image list. The remaining icon overlay handlers are not used.
Source: official Microsoft support website (archived URL)
PSA Notice:
I also designed a Wikipedia page dedicated solely to list all shell icon overlays, so users can identify which ones are most useful for themselves for Dropbox, OneDrive, Tortoise, etc...
Please check out my Wiki page and please contribute:
https://en.wikipedia.org/wiki/List_of_shell_icon_overlay_identifiers