Por que o Windows limita as sobreposições de ícones a 15?


27

Podemos ver inúmeras perguntas sobre o Dropbox vs TortoiseSVN vs muitos outros ícones de aplicativos sobrepostos conflitos.

Dois exemplos:
Por que as sobreposições de ícones (de 3rdParty-Apps) não aparecem no Win8 Explorer?
Posso impedir a alteração dos ícones de sobreposição?

No meu caso, eu só tenho Dropbox e TortoiseSVN. O Dropbox está realmente se tornando irritante - depois de cada atualização, preciso executar um script que exclua as sobreposições do Dropbox do registro e, em seguida, reinicie o Windows Explorer.

Entendo que o Windows limita as sobreposições a 15 provavelmente por causa do desempenho.
No entanto, aumentar para 25 ~ 35 causaria um enorme impacto no desempenho?
Por que a Microsoft ainda não percebeu que esse é um problema muito popular e tentou corrigir isso?
Por que não há, pelo menos, uma opção que usuários avançados possam alterar para aumentar esse limite?


Eu perguntei a esta Microsoft há algum tempo e eles me dizem "problemas de desempenho" como razão. Eles não aumentam o limite, eles também têm planos de matá-los completamente.
magicandre1981

1
Não é apenas desempenho. Na implementação atual, existem 4 bits em uma estrutura que define o índice de sobreposição, fornecendo no máximo 15 sobreposições. Os bits mais significativos necessários para aumentar esse número são usados ​​para outra finalidade. A única maneira de obter mais ícones de sobreposição seria alterar a implementação e isso teria grandes implicações de compatibilidade. Há um grande número de aplicativos (aplicativos bem escritos que seguem todas as regras) que dependem da implementação atual e seriam interrompidos se fossem alterados.
precisa saber é o seguinte

Respostas:


24

No meu caso, eu só tenho Dropbox e TortoiseSVN. O Dropbox está realmente se tornando irritante - depois de cada atualização, preciso executar um script que exclua as sobreposições do Dropbox do registro e, em seguida, reinicie o Windows Explorer.

Remova todas as sobreposições não utilizadas do seguinte local:

  • SobreposiçãoIdentificadores KEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ShellIcon‌

  • KEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ explorer \ ShellIconOverlayIdentifiers

Fonte: Por que as sobreposições de ícones (de 3rdParty-Apps) não aparecem no Win8 Explorer?

Aumentar para 25 ~ 35 causaria um enorme impacto no desempenho?

Como o limite atual não pode ser alterado, não é possível prever que tipo de impacto no desempenho haveria se o limite fosse aumentado.

Por que a Microsoft ainda não percebeu que esse é um problema muito popular e tentou corrigir isso?

Eu presumo que afeta menos pessoas do que você pensa. Somente alguém da equipe do Windows Shell saberia realmente essa resposta. Até que a Microsoft tome sua decisão, só podemos dar palpites, o que basicamente seria que ninguém aumentou o limite.

Por que não há, pelo menos, uma opção que usuários avançados possam alterar para aumentar esse limite?

Somente alguém da equipe do Windows Shell saberia realmente essa resposta. Até que a Microsoft tome sua decisão, só podemos fazer suposições, o que basicamente seria que ninguém escreveu o código para permitir aumentar o limite.

Raymond Chen, desenvolvedor da Microsoft, diz o seguinte sobre sobreposições de ícones

De um modo geral, as sobreposições não são uma boa maneira de apresentar informações, porque pode haver apenas uma sobreposição por ícone e há um limite de 15 sobreposições por ImageList. Se houver duas ou mais sobreposições aplicáveis ​​a um item, uma delas vencerá e as outras perderão. Nesse momento, o valor da sobreposição como forma de determinar quais propriedades se aplicam a um item diminui, pois a única maneira de garantir que falta uma propriedade é quando você não vê nenhuma sobreposição. (Se você vir alguma outra sobreposição, não poderá saber se é porque sua propriedade está ausente ou porque essa outra sobreposição está sendo exibida em vez da sua.)

O Sr. Chen também declarou:

Outro exemplo de aplicativos com uma visão egoísta do desempenho veio de uma empresa que desenvolveu um manipulador de sobreposições de ícones. O shell trata a computação de sobreposição como um item de baixa prioridade, pois é mais importante colocar ícones na tela para que o usuário possa começar a fazer o que quer que esteja fazendo. As decorações podem vir mais tarde. Essa empresa queria saber se havia uma maneira de melhorar seu desempenho e colocar sua sobreposição na tela antes mesmo de o ícone aparecer, demonstrando uma interpretação fenomenalmente egoísta de "desempenho".

Fonte: Quais são esses pequenos ícones de sobreposição: edição do Windows 7


3

Há uma nova postagem no blog sobre Raymond Chen: por que há um limite de 15 sobreposições de ícones de shell? que entra em mais detalhes, mas a versão curta é: os motivos são a compatibilidade com versões e APIs mais antigas, problemas de desempenho e o fato de as sobreposições de ícones não serem recomendadas atualmente:

Basicamente, tudo se resume a "Seria muito trabalho e somos preguiçosos".

e também:

Mas o principal motivo para isso não ser feito é simplesmente que as sobreposições não são recomendadas como forma de transmitir metadados sobre um arquivo ao usuário .

e:

O Windows 10 se afasta das sobreposições de ícones movendo o indicador de status de sincronização de arquivos do OneDrive de uma sobreposição de ícone para uma coluna Status separada.


sim! Percebi que o OneDrive faz isso de maneira diferente e pode até mostrar arquivos "somente online". Esse é um recurso muito interessante que parece oferecer mais flexibilidade. Muito obrigado pela informação.
Nuno

1

Eu também quero corrigir um equívoco. Sim, há um total de 15 ícones alocados, MAS, na verdade, são 11 ícones de sobreposição disponíveis porque o Windows System reserva 4 para si mesmo; portanto , são 11 ícones disponíveis para outros programas. (15-4 = 11). Isso está de acordo com o site oficial de suporte da Microsoft ( URL arquivado )

O número de manipuladores de sobreposição de ícones que o sistema pode suportar é limitado pela quantidade de espaço disponível para sobreposições de ícones na lista de imagens do sistema. Atualmente, existem 15 slots alocados para sobreposições de ícones, 4 dos quais são reservados pelo sistema. Quando há mais de 11 manipuladores de sobreposição de ícones registrados no sistema, apenas as 11 primeiras sobreposições de ícones fornecidas por manipuladores de sobreposição de ícones são adicionadas à lista de imagens do sistema. Os demais manipuladores de sobreposição de ícones não são usados.

Fonte: site oficial de suporte da Microsoft ( URL arquivado )

Aviso de PSA:

Também projetei uma página da Wikipedia dedicada exclusivamente a listar todas as sobreposições de ícones de shell, para que os usuários possam identificar quais são mais úteis para Dropbox, OneDrive, Tortoise, etc.

Por favor, verifique minha página da Wiki e contribua:

https://en.wikipedia.org/wiki/List_of_Shell_Icon_Overlay_Identifiers


Isso é fantástico. Você pode adicionar as sobreposições de ícones da Adobe Creative Cloud? AccExtIco1, AccExtIco2, AccExtIco3
JamesHenare 16/09
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.