Warum beschränkt Windows die Symbolüberlagerungen auf 15?

7541
Nuno

Wir sehen endlose Fragen zu Dropbox vs TortoiseSVN im Vergleich zu vielen anderen Apps-Symbolen.

Zwei Beispiele:
Warum werden Icon-Overlays (von 3rdParty-Apps) nicht im Win8-Explorer angezeigt?
Kann ich die Änderung von Overlay-Symbolen verhindern?

In meinem Fall habe ich nur Dropbox und TortoiseSVN. Dropbox wird wirklich ärgerlich. Nach jedem Update muss ich ein Skript ausführen, das Dropbox-Overlays aus der Registrierung löscht und anschließend Windows Explorer neu startet.

Ich verstehe, dass Windows die Überlagerungen auf 15 begrenzt, wahrscheinlich aufgrund der Leistung.
Würde ein Anstieg auf 25-35 jedoch einen großen Einfluss auf die Leistung haben?
Warum hat Microsoft noch nicht erkannt, dass dies ein sehr beliebtes Problem ist, und versucht, dieses Problem zu beheben?
Warum gibt es nicht zumindest eine Option, die fortgeschrittene Benutzer ändern können, um dieses Limit zu erhöhen?

20
Ich habe dieses Microsoft vor einiger Zeit gefragt und sie sagen mir "Perf-Probleme" als Grund. Sie erhöhen das Limit nicht, sie haben auch Pläne, sie vollständig zu töten. magicandre1981 vor 7 Jahren 0
Es ist nicht nur Leistung. In der aktuellen Implementierung gibt es 4 Bits in einer Struktur, die den Überlagerungsindex definieren, wobei maximal 15 Überlagerungen bereitgestellt werden. Die höherwertigen Bits, die zum Erhöhen dieser Anzahl erforderlich sind, werden für einen anderen Zweck verwendet. Die einzige Möglichkeit, mehr Overlay-Symbole zu erhalten, besteht darin, die Implementierung zu ändern. Dies hätte erhebliche Auswirkungen auf die Kompatibilität. Es gibt eine große Anzahl von Anwendungen (gut geschriebene Anwendungen, die alle Regeln beachten), die auf der aktuellen Implementierung beruhen und bei einer Änderung fehlerhaft wären. LMiller7 vor 7 Jahren 0

1 Antwort auf die Frage

20
Ramhound

In meinem Fall habe ich nur Dropbox und TortoiseSVN. Dropbox wird wirklich ärgerlich. Nach jedem Update muss ich ein Skript ausführen, das Dropbox-Overlays aus der Registrierung löscht und anschließend Windows Explorer neu startet.

Entfernen Sie nicht verwendete Überlagerungen an folgendem Ort:

  • KEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ShellIcon‌ OverlayIdentifiers

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

Quelle: Warum werden Icon-Overlays (von 3rdParty-Apps) nicht im Win8-Explorer angezeigt?

Würde ein Anstieg auf 25-35 die Leistung stark beeinträchtigen?

Da das Stromlimit nicht geändert werden kann, können wir nicht vorhersagen, welche Auswirkungen auf die Leistung bei einer Erhöhung des Limits auftreten würden.

Warum hat Microsoft noch nicht erkannt, dass dies ein sehr beliebtes Problem ist, und versucht, dieses Problem zu beheben?

Ich würde davon ausgehen, dass es weniger Menschen beeinflusst, als Sie denken. Nur jemand aus dem Windows-Shell-Team würde diese Antwort tatsächlich kennen. Bis Microsoft seine Entscheidung bekannt gibt, können wir nur fundierte Vermutungen anstellen, was im Grunde bedeuten würde, dass niemand das Limit erhöht hat.

Warum gibt es nicht zumindest eine Option, die fortgeschrittene Benutzer ändern können, um dieses Limit zu erhöhen?

Nur jemand aus dem Windows-Shell-Team würde diese Antwort tatsächlich kennen. Bis Microsoft seine Entscheidung bekannt gibt, können wir nur fundierte Vermutungen anstellen. Dies bedeutet im Wesentlichen, dass niemand den Code geschrieben hat, um das Limit zu erhöhen.

Raymond Chen, ein Microsoft-Entwickler, sagt Folgendes zu Symbolüberlagerungen

Im Allgemeinen sind Überlagerungen keine gute Möglichkeit, Informationen darzustellen, da es nur eine Überlagerung pro Symbol geben kann und es maximal 15 Überlagerungen pro ImageList gibt. Wenn es zwei oder mehr Überlagerungen gibt, die auf ein Objekt zutreffen, gewinnt das eine und das andere verliert. Der Wert des Überlappens als ein Weg, um zu bestimmen, welche Eigenschaften für ein Element gelten, nimmt ab, da die einzige sichere Möglichkeit besteht dass eine Eigenschaft fehlt, ist, wenn Sie überhaupt keine Überlagerung sehen. (Wenn Sie eine andere Überlagerung sehen, können Sie nicht feststellen, ob dies daran liegt, dass Ihre Eigenschaft fehlt oder dass die andere Überlagerung statt Ihrer angezeigt wird.)

Herr Chen erklärte auch:

Ein anderes Beispiel für Anwendungen mit einer selbstsüchtigen Sicht der Leistung kam von einem Unternehmen, das einen Icon-Overlay-Handler entwickelt. Die Shell behandelt die Überlagerungsberechnung als ein Element mit niedriger Priorität, da es wichtiger ist, Symbole auf dem Bildschirm zu erhalten, damit der Benutzer mit dem beginnen kann, was er wollte. Die Dekorationen können später kommen. Diese Firma wollte wissen, ob es eine Möglichkeit gibt, ihre Leistung zu verbessern und ihre Überlagerung auf den Bildschirm zu bringen, noch bevor das Symbol angezeigt wird. Dies demonstriert eine phänomenal egoistische Interpretation von "Leistung".

Quelle: Was sind diese kleinen Overlay-Symbole: Windows 7 Edition