Zu diesem Zeitpunkt weiß jeder, dass die Anzahl ShellIconOverlayIdentifiers
(von MSDN) begrenzt ist:
Die Anzahl der verschiedenen Symbolüberlagerungshandler, die das System unterstützen kann, ist durch den verfügbaren Speicherplatz für Symbolüberlagerungen in der Systemabbildliste begrenzt. Derzeit sind fünfzehn Steckplätze für Symbolüberlagerungen vorgesehen, von denen einige vom System reserviert werden. Aus diesem Grund sollten Symbol-Overlay-Handler nur implementiert werden, wenn es keine zufriedenstellenden Alternativen gibt
Ich kann das 15-Overlay-Limit in Windows 95 verstehen. Aber gibt es in einer Umgebung, in der es viele RAMs, zahlreiche Kerne und GPUs gibt, einen technischen Grund für eine so geringe Anzahl in einem modernen Betriebssystem?
Und warum ist dieser Wert nicht konfigurierbar?
Bevor Sie die Antwort "Leistung" geben, sollten Sie Folgendes berücksichtigen: Windows ermöglicht eine Konfiguration, bei der Sie die Leistung beeinträchtigen können. Warum sollten Sie dieses Problem speziell auswählen?
quelle
Antworten:
Ich bezweifle, dass Sie eine Antwort erhalten, die die technischen Einschränkungen und die Auswirkungen auf die Designauswahl berücksichtigt, es sei denn, jemand hier arbeitet zufällig im Windows Shell-Team. Aber ich werde es versuchen...
Ich vermute, dass es keine technischen Einschränkungen gibt, oder zumindest gibt es jetzt keine. Der wahre Grund ist vermutlich, dass sich niemand die Zeit genommen hat, sich hinzusetzen und den Code, das Design und die Spezifikation zu aktualisieren, um diese Einschränkung aufzuheben. Funktionen sind nicht standardmäßig implementiert, und nur weil sich die Computerumgebung in den letzten Jahren geändert hat, bedeutet dies nicht, dass sich jemand hingesetzt und Windows neu geschrieben hat, um alle diese Änderungen voll auszunutzen.
Sie sollten auch berücksichtigen, dass dies höchstwahrscheinlich eine bewusste Designentscheidung und keine auferlegte Einschränkung ist. Raymond Chen (die tatsächlich tut Arbeit auf dem Shell - Team) veröffentlichte einen Blog - Eintrag zu dem Aufruhr über Windows reagiert 7 die „sharing Hand“ Overlay entfernen. Er macht ein überzeugendes Argument dafür, dass die Symbolüberlagerung wirklich keine wünschenswerte Art der Anzeige von Informationen ist (über die Tatsache hinaus, dass das System auf 15 beschränkt ist) [Hervorhebung hinzugefügt]:
Es scheint mir vernünftig, dass sich die zusätzliche Unordnung, die der Shell hinzugefügt wird, in den meisten Fällen der realen Welt einfach nicht lohnt. Das Windows Shell-Team kam offensichtlich zu dem gleichen Ergebnis und schnitt die Überlagerung "Hand teilen" ab. Raymonds direkte Erklärung:
Ich weiß, dass Sie ausdrücklich darum gebeten haben, die Leistung nicht zu erwähnen, aber Windows versucht wirklich , Sie davon abzuhalten, sich in den Fuß zu schießen. Benutzer fordern Reaktionsfähigkeit in der Shell, und Overlay-Symbole können dies beeinträchtigen. Als weiterer Beweis dafür, dass sie nicht die Priorität haben , züchtigt ein anderer Blog-Beitrag des gleichen Raymond Chen:
quelle
ShellIconOverlayIdentifiers
Registrierungseintrag ab Win10 mit OneDrive Crud verwischt hat. Für einen Entwickler, der so etwas wie TortoiseSVN / GIT verwendet, sind diese Überlagerungen von entscheidender Bedeutung, und die Tatsache, dass nur eine angezeigt werden kann, ist ein Grund, WARUM .Hervorragende Resonanz auf die praktischen Fragen von Cody. Warum 15 und nicht irgendeine andere Zahl, das Limit wird in das ImageList- Steuerelement selbst eingebrannt .
quelle
Das ist alles sehr gut und schön, wie von Cody Gray erklärt, aber ehrlich gesagt ist es ziemlich einfallslos und klingt, wie hinter den Kulissen berichtet, ein bisschen frustriert.
Im Jahr 2015 und mit Windows 10 kann und muss es sicherlich eine bessere Fähigkeit geben, da ich festgestellt habe, dass etwa dreißig Overlays vorhanden sind und diejenigen priorisieren mussten, die ich am meisten sehen wollte, worüber sich die meisten Menschen überhaupt keine Sorgen machen sollen. Ich sehe auch aggressive Anbieter wie Box, die im Wettbewerb stehen, um Prioritäten zu setzen, und das wird niemals gut gehen.
Hier ist eine Möglichkeit: Was wäre, wenn mehrfach überlagerte Symbole einen generischen Überlagerungsindikator hätten? eine kleine Rechteckmatrix mit mehreren Farben wie die Google Chrome Apps-Schaltfläche? Einfach überlagert würde nur die Überlagerung aus einer langen Liste anzeigen.
Wenn der Mauszeiger dann auf das Symbol trifft, werden in einem kleinen Flyout-Fenster alle Symbolvarianten gesammelt, die angezeigt werden sollen (bei kleiner oder etwas größerer Symbolgröße). Jedes überlagerte Symbol gibt per Tooltip an, was es ist, wenn Sie mit der Maus darüber fahren.
Jetzt können Sie alle Symbolüberlagerungen verwenden, die Sie für den Status in verschiedenen Clouds, für Repository-Anzeigen wie für Schildkröten-Tools usw. benötigen.
quelle