Perché Windows limita le sovrapposizioni delle icone a 15?


27

Possiamo vedere infinite domande su Dropbox vs TortoiseSVN e molti altri conflitti di sovrapposizioni di icone di app.

Due esempi:
Perché le sovrapposizioni di icone (da 3rdParty-Apps) non vengono visualizzate in Win8 Explorer?
Posso impedire il cambiamento delle icone di overlay?

Nel mio caso, ho solo Dropbox e TortoiseSVN. Dropbox sta diventando davvero fastidioso: dopo ogni aggiornamento, devo eseguire uno script creato che elimina gli overlay di Dropbox dal registro e quindi riavvia Esplora risorse.

Comprendo che Windows limita gli overlay a 15 probabilmente a causa delle prestazioni.
Tuttavia, aumentando a 25 ~ 35 provocherebbe un enorme impatto sulle prestazioni?
Perché Microsoft non ha ancora capito che si tratta di un problema molto popolare e ha cercato di risolvere il problema?
Perché non esiste, almeno, un'opzione che gli utenti avanzati possono modificare per aumentare questo limite?


Ho chiesto a questa Microsoft qualche tempo fa e mi dicono "problemi perf" come motivo. Non aumentano il limite, hanno anche piani per ucciderli completamente.
magicandre1981,

1
Non è solo performance. Nell'attuale implementazione ci sono 4 bit in una struttura che definiscono l'indice di overlay che prevede un massimo di 15 overlay. I bit più significativi necessari per aumentare questo numero vengono utilizzati per un altro scopo. L'unico modo per ottenere più icone di sovrapposizione sarebbe cambiare l'implementazione e ciò avrebbe importanti implicazioni sulla compatibilità. Esistono un gran numero di applicazioni (applicazioni ben scritte che seguono tutte le regole) che si basano sull'implementazione corrente e si spezzerebbero se fossero modificate.
LMiller7,

Risposte:


24

Nel mio caso, ho solo Dropbox e TortoiseSVN. Dropbox sta diventando davvero fastidioso: dopo ogni aggiornamento, devo eseguire uno script creato che elimina gli overlay di Dropbox dal registro e quindi riavvia Esplora risorse.

Rimuovere eventuali overlay non utilizzati dalla seguente posizione:

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

  • KEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Explor er \ ShellIconOverlayIdentifiers

Fonte: Perché le sovrapposizioni di icone (da 3rdParty-Apps) non vengono visualizzate in Win8 Explorer?

L'aumento a 25 ~ 35 provocherebbe un enorme impatto sulle prestazioni?

Poiché il limite attuale non può essere modificato, non è possibile per noi prevedere quale tipo di impatto sulle prestazioni ci sarebbe se il limite fosse aumentato.

Perché Microsoft non ha ancora capito che si tratta di un problema molto popolare e ha cercato di risolvere il problema?

Presumo che abbia un effetto su meno persone di quanto pensi. Solo qualcuno, dal team di Windows Shell, sarebbe effettivamente in grado di conoscere questa risposta. Fino a quando Microsoft non renderà nota la loro decisione, possiamo solo fare ipotesi ponderate, il che sostanzialmente sarebbe che nessuno ha aumentato il limite.

Perché non esiste, almeno, un'opzione che gli utenti avanzati possono modificare per aumentare questo limite?

Solo qualcuno, dal team di Windows Shell, sarebbe effettivamente in grado di conoscere questa risposta. Fino a quando Microsoft non renderà nota la loro decisione, possiamo solo fare ipotesi ponderate, il che sostanzialmente sarebbe che nessuno ha scritto il codice per permetterci di aumentare il limite.

Raymond Chen, uno sviluppatore Microsoft, afferma quanto segue sulle sovrapposizioni di icone

In generale, gli overlay non sono un buon modo per presentare informazioni perché possono esserci solo un overlay per icona e c'è un limite di 15 overlay per ImageList. Se ci sono due o più overlay che si applicano a un oggetto, uno vincerà e gli altri perderanno, a quel punto il valore dell'overlay come modo per determinare quali proprietà si applicano a un oggetto diminuisce poiché l'unico modo per essere sicuri che manca una proprietà è quando non vedi alcun overlay. (Se vedi qualche altro overlay, non puoi dire se è perché manca la tua proprietà o perché quell'altro overlay viene mostrato al posto del tuo.)

Il signor Chen ha anche dichiarato:

Un altro esempio di applicazioni con una visione egoistica delle prestazioni è venuto da un'azienda che sviluppa un gestore di sovrapposizioni di icone. La shell considera il calcolo dell'overlay come un elemento a bassa priorità, poiché è più importante ottenere icone sullo schermo in modo che l'utente possa iniziare a fare tutto ciò che desidera. Le decorazioni possono venire dopo. Questa compagnia voleva sapere se c'era un modo per migliorare le proprie prestazioni e ottenere il proprio overlay sullo schermo anche prima che appaia l'icona, dimostrando un'interpretazione fenomenalmente egoistica di "performance".

Fonte: cosa sono quelle piccole icone sovrapposte: Windows 7 Edition


3

C'è un nuovo post sul blog sull'argomento di Raymond Chen: Perché esiste un limite di 15 sovrapposizioni di icone shell? che fornisce ulteriori dettagli, ma la versione breve è: i motivi sono la compatibilità con le versioni e le API precedenti, i problemi di prestazioni e il fatto che le sovrapposizioni di icone non sono consigliate in questi giorni:

Fondamentalmente si riduce a "Sarebbe un sacco di lavoro e siamo pigri".

e anche:

Ma il motivo principale per cui ciò non viene fatto è semplicemente che le sovrapposizioni non sono consigliate come modo per trasmettere all'utente i metadati su un file .

e:

Windows 10 si allontana dalle sovrapposizioni di icone spostando l'indicatore di stato della sincronizzazione dei file OneDrive da una sovrapposizione di icone a una colonna di stato separata.


Si! Ho notato che OneDrive lo fa in modo diverso e può persino mostrare file "solo online". Questa è una funzionalità molto interessante che sembra dare maggiore flessibilità. Grazie mille per l'informazione.
Nuno,

1

Voglio anche correggere un malinteso. Sì, ci sono un totale di 15 icone assegnate, MA in realtà sono disponibili 11 icone di sovrapposizione perché il sistema Windows ne riserva 4 per sé, quindi effettivamente sono disponibili 11 icone per altri programmi. (15-4 = 11). Questo è secondo il sito Web ufficiale dell'assistenza Microsoft ( URL archiviato )

Il numero di gestori di sovrapposizioni di icone che il sistema può supportare è limitato dalla quantità di spazio disponibile per sovrapposizioni di icone nell'elenco delle immagini di sistema. Attualmente ci sono 15 slot assegnati per sovrapposizioni di icone, 4 delle quali sono riservate dal sistema. Quando nel sistema sono registrati più di 11 gestori di sovrapposizioni di icone, solo i primi 11 sovrapposizioni di icone forniti dai gestori di sovrapposizioni di icone vengono aggiunti all'elenco delle immagini di sistema. I restanti gestori di sovrapposizioni di icone non vengono utilizzati.

Fonte: sito Web ufficiale dell'assistenza Microsoft ( URL archiviato )

Avviso PSA:

Ho anche progettato una pagina Wikipedia dedicata esclusivamente all'elenco di tutti gli overlay delle icone della shell, in modo che gli utenti possano identificare quali sono più utili per se stessi per Dropbox, OneDrive, Tortoise, ecc ...

Dai un'occhiata alla mia pagina Wiki e per favore contribuisci:

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


È fantastico, puoi aggiungere le sovrapposizioni dell'icona di Adobe Creative Cloud? AccExtIco1, AccExtIco2, AccExtIco3
JamesHenare
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.