W tym momencie wszyscy wiedzą, że istnieje ograniczenie liczby ShellIconOverlayIdentifiers
(z MSDN):
Liczba różnych programów obsługi nakładek ikon, które może obsługiwać system, jest ograniczona ilością miejsca dostępnego dla nakładek ikon na liście obrazów systemu. Obecnie istnieje piętnaście miejsc przeznaczonych na nakładki ikon, z których część jest zarezerwowana przez system. Z tego powodu programy obsługi nakładek ikon powinny być wdrażane tylko wtedy, gdy nie ma zadowalających alternatyw
Rozumiem limit 15 nakładek w systemie Windows 95. Ale czy w środowisku, w którym jest gigantyczna pamięć RAM, wiele rdzeni i procesorów graficznych, jest jakiś techniczny powód tak małej liczby w nowoczesnym systemie operacyjnym?
Dlaczego tej wartości nie można konfigurować?
Przed udzieleniem odpowiedzi „wydajność” zastanów się: system Windows umożliwia konfigurację w taki sposób, że można zabić wydajność ... po co akurat wybierać ten problem?
źródło
Odpowiedzi:
O ile ktoś tutaj nie będzie pracował w zespole Windows Shell, wątpię, czy uzyskasz odpowiedź, która naprawdę dotyczy ograniczeń technicznych i ich wpływu na wybór projektu. Ale spróbuję ...
Domyślam się, że nie ma żadnych ograniczeń technicznych, a przynajmniej nie ma ich teraz. Prawdziwym powodem jest prawdopodobnie to, że nikt nigdy nie poświęcił czasu, aby usiąść i zaktualizować kod, projekt i specyfikację, aby znieść to ograniczenie. Funkcje nie są implementowane domyślnie i tylko dlatego, że środowisko komputerowe zmieniło się w ciągu ostatnich kilku lat, nie oznacza, że ktoś usiadł i przepisał system Windows, aby w pełni wykorzystać wszystkie te zmiany.
Należy również wziąć pod uwagę, że jest to bardziej niż prawdopodobne, świadomy wybór projektu, a nie narzucone ograniczenie. Raymond Chen (który faktycznie wykonuje pracę w zespole powłoki) opublikował wpis na blogu Odpowiadając na wrzawy o Windows 7 usuwając „dzielenie ręki” nakładkę. Przekonuje on, że nakładka ikon nie jest tak naprawdę pożądanym sposobem pokazywania informacji (poza i poza faktem, że system jest ograniczony do 15) [podkreślenie dodane]:
Wydaje mi się rozsądne, że dodatkowy bałagan dodany do powłoki po prostu nie jest tego wart w większości przypadków w świecie rzeczywistym. Zespół Windows Shell najwyraźniej doszedł do tego samego wniosku i odciął nakładkę „udostępnianie ręki”. Bezpośrednie wyjaśnienie Raymonda:
Wiem, że prosiłeś o nie wspominając o wydajności, ale Windows naprawdę stara się powstrzymać cię przed strzeleniem sobie w stopę. Użytkownicy wymagają responsywności w powłoce, a ikony nakładek mogą to zakłócać. Jako kolejny dowód na to, że nie są one priorytetem , kolejny post na blogu tego samego Raymonda Chena karci:
źródło
ShellIconOverlayIdentifiers
wpis w rejestrze za pomocą OneDrive crud od Win10. Dla programisty używającego czegoś takiego jak TortoiseSVN / GIT te nakładki są kluczowe, a fakt, że można wyświetlić tylko jedną, jest powodem DLACZEGO .Doskonała odpowiedź Cody'ego na kwestie praktyczne. Jeśli chodzi o to, dlaczego 15, a nie jakaś inna liczba, limit jest zapisany w samej kontrolce ImageList .
źródło
To wszystko jest bardzo dobre i dobre, jak wyjaśnił Cody Gray, ale szczerze mówiąc, jest to dość niewyobrażalne i jak donoszono za kulisami, brzmi nieco sfrustrowany.
W 2015 roku i Windows 10 z pewnością może i musi być lepsza możliwość, ponieważ zauważyłem około trzydziestu nakładek i musiałem nadać priorytet tym, które najbardziej chciałem zobaczyć, a nie jest to, o co większość ludzi w ogóle się martwi. Widzę również agresywnych dostawców, takich jak Box, którzy nadmiernie konkurują, próbując nadać sobie priorytet, a to nigdy nie wyjdzie dobrze.
Oto możliwość: Co by było, gdyby wielokrotnie nakładane ikony miały ogólny wskaźnik nakładki; mała prostokątna matryca z wieloma kolorami, jak przycisk Google Chrome Apps? Pojedyncze nałożenie spowoduje wyświetlenie nakładki z długiej listy.
Następnie, gdy wskaźnik myszy napotka ikonę, małe wysuwane okno zbiera wszystkie odmiany ikon do wyświetlenia (przy małym rozmiarze ikony lub nieco większym). Każda nałożona ikona informuje z kolei o tym, co to jest, gdy najedziesz kursorem myszy.
Teraz możesz mieć wszystkie potrzebne nakładki ikon, dla stanu w różnych chmurach, dla wskazań repozytorium, jak dla narzędzi Tortoise i tak dalej.
źródło