84 votes

ShellIconOverlayIdentifiers - pourquoi si peu ?

A ce point, tout le monde sait qu'il y a une limite au nombre de ShellIconOverlayIdentifiers (d'après MSDN) :

Le nombre de gestionnaires de superposition d'icônes différents que le système peut prendre en charge est limité par l'espace disponible pour les superpositions d'icônes dans la liste des images du système. Il y a actuellement quinze emplacements alloués aux superpositions d'icônes, dont certains sont réservés par le système. C'est pourquoi les gestionnaires de superposition d'icônes ne doivent être mis en œuvre que s'il n'existe pas d'autres solutions satisfaisantes.

Je peux comprendre le limt de 15 overlay dans Windows 95. Mais dans un environnement où il y a des giga-octets de RAM, de nombreux cœurs et GPU, y a-t-il une raison technique pour un nombre aussi faible dans un système d'exploitation moderne ?

Et pourquoi cette valeur n'est-elle pas configurable ?

Avant de donner la réponse "performance", réfléchissez : Windows permet une configuration telle que vous pouvez tuer les performances... pourquoi s'attaquer spécifiquement à ce problème ?

0 votes

Pourquoi cette page est-elle étiquetée "tortoisesvn" ? Est-ce que j'ai raté quelque chose ?

19 votes

J'ai pensé que j'étais malin puisque tortoisesvn est l'application la plus fréquemment mentionnée lorsqu'il s'agit de limitations excessives des icônes - principalement parce qu'elle prend 9 de vos emplacements disponibles. J'ai enlevé le tag.

1 votes

Les limitations sont toujours les mêmes sous Windows 10. Je ne sais pas non plus pourquoi.

86voto

Cody Gray Points 102261

À moins que quelqu'un ici ne travaille dans l'équipe Windows Shell, je doute que vous obteniez une réponse qui aborde réellement les limitations techniques et la manière dont elles affectent le choix de conception. Mais je vais essayer...

Je pense qu'il n'y a pas de limitation technique, ou du moins qu'il n'y en a pas actuellement. La vraie raison est probablement que personne n'a jamais pris le temps de s'asseoir et de mettre à jour le code, la conception et les spécifications pour lever cette limitation. Les fonctionnalités ne sont pas implémentées par défaut, et ce n'est pas parce que l'environnement informatique a changé au cours des dernières années que quelqu'un s'est assis et a réécrit Windows pour tirer pleinement parti de tous ces changements.

Vous devez également considérer qu'il s'agit plus que probablement d'un choix de conception conscient, plutôt que d'une limitation imposée. Raymond Chen (qui en fait fait l'équipe de l'obus) a publié un entrée de blog répondant au tollé suscité par la suppression de la superposition de la "main partageuse" dans Windows 7. Il présente un argument convaincant selon lequel la superposition d'icônes n'est pas vraiment un moyen souhaitable d'afficher des informations (au-delà du fait que le système est limité à 15) [c'est nous qui soulignons] :

En général, les superpositions ne sont pas bon moyen de présenter des informations car il ne peut y avoir qu'une seule superposition par icône et il y a une limite de 15 superpositions par ImageList. S'il y a deux superpositions ou plus qui s'appliquent à un élément, l'un d'entre eux gagnera et les autres perdront, auquel cas la valeur de la superposition comme moyen de déterminer quelles propriétés s'appliquent à un élément diminue puisque la seule façon d'être d'être sûr qu'une propriété est manquante est quand vous ne voyez aucune superposition. (Si vous voyez une autre superposition, vous ne pouvez pas dire si c'est parce que votre propriété est manquante ou parce que cette l'autre superposition s'affiche à la place de la la vôtre).

Il me semble raisonnable de penser que l'encombrement supplémentaire ajouté à la coque ne vaut tout simplement pas la peine dans la majorité des cas réels. L'équipe de Windows Shell est manifestement parvenue à la même conclusion et a supprimé la superposition de la "main partageuse". L'explication directe de Raymond :

Compte tenu des changements dans la façon dont les gens utilisent ordinateurs, le partage d'informations devient de plus en plus un état par défaut. par défaut. Lorsque vous créez un HomeGroup, à peu près tout va être partagé. Pour supprimer le désordre visuel, les informations ont été déplacées vers le volet Détails.

Et, je sais que vous avez spécifiquement demandé de ne pas mentionner les performances, mais Windows fait vraiment essayez pour vous empêcher de vous tirer une balle dans le pied. Les utilisateurs exigent de l'interpréteur de commandes qu'il soit réactif, et les icônes superposées peuvent nuire à cette réactivité. Comme preuve supplémentaire qu'ils sont pas la priorité , un autre article de blog par le même Raymond Chen qui le châtie :

Un autre exemple d'applications ayant une vision égoïste des performances d'une entreprise développant un gestionnaire de de superposition d'icônes. Le shell traite calcul de la superposition comme un élément de basse priorité, puisqu'il est plus important de d'afficher les icônes à l'écran pour que l'utilisateur puisse commencer à faire ce qu'il ce qu'il voulait faire. Les décorations peuvent venir plus tard. Cette entreprise voulait savoir s'il y avait un moyen pour eux de d'améliorer leurs performances et d'obtenir leur superposition sur l'écran avant même avant que l'icône n'apparaisse, démontrant une interprétation phénoménalement égoïste de la "performance".

15 votes

Excellente réponse. Peut-être que la meilleure question est "Quelle est une alternative aux superpositions d'icônes qui présente la même file d'attente visuelle instantanée sur l'état d'un fichier/dossier ?" Il me semble que l'utilisation d'icônes pour faire plus qu'identifier le type de contenu devient de plus en plus importante pour la raison exacte mentionnée par Raymond Chen - avec l'effacement des frontières d'emplacement des fichiers, le statut EST IMPORTANT.

0 votes

Merci, j'avais installé et désinstallé Expandrive mais il a laissé ses icônes. J'ai simplement supprimé ces entrées du registre et redémarré. Cela a bien fonctionné, maintenant mes icônes sugarsync sont de retour.

0 votes

Bon feedback @cody-gray. Mon principal problème est que, depuis longtemps, Gnome sous Linux autorise plus de 15 icônes. Il permet également aux utilisateurs d'en utiliser plus d'une en même temps, et vous pouvez les placer dans différentes régions !

13voto

Bruce Points 36

Excellente réponse de Cody sur les questions pratiques. Quant à la question de savoir pourquoi 15 et pas un autre chiffre, la limite est intégrée dans le règlement de l'UE. Liste d'images le contrôle lui-même.

4voto

narration_sd Points 138

Tout cela est très bien, comme l'explique Cody Gray, mais franchement, c'est assez peu imaginatif, et comme le rapportent les coulisses, cela semble un peu frustré.

En 2015 et avec Windows 10, il peut et doit sûrement y avoir une meilleure capacité, car j'ai noté une trentaine de superpositions présentes et j'ai dû prioriser celles que je voulais le plus voir, ce qui n'est pas du tout ce dont vous voulez que la plupart des gens se préoccupent. De plus, je vois des vendeurs agressifs comme Box qui se livrent une concurrence excessive pour essayer de se donner la priorité, et cela n'ira jamais dans le bon sens.

Voici une possibilité : Et si les icônes superposées plusieurs fois avaient un indicateur de superposition générique, un petit rectangle de plusieurs couleurs comme le bouton Apps de Google Chrome ? Une superposition simple ne ferait qu'afficher la superposition parmi une longue liste.

Ensuite, lorsque le pointeur de la souris rencontre l'icône, une petite fenêtre volante rassemble toutes les variations de l'icône à visualiser (à la petite taille de l'icône ou un peu plus grande). Chaque icône superposée annonce à son tour par une info-bulle ce qu'elle est, lorsque vous passez la souris dessus.

Vous pouvez maintenant avoir toutes les superpositions d'icônes dont vous avez besoin, pour l'état dans divers nuages, pour les indications de dépôt comme pour les outils Tortoise, et ainsi de suite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X