2010-12-10 14 views
79

En este punto, todo el mundo sabe que hay un límite en el número de ShellIconOverlayIdentifiers (MSDN):ShellIconOverlayIdentifiers: ¿por qué tan pocos?

El número de diferentes controladores de icono de superposición que el sistema puede soportar está limitada por la cantidad de espacio disponible para el icono superposiciones en la lista de imágenes del sistema. Actualmente hay quince espacios asignados para superposiciones de iconos, algunos de los cuales están reservados por el sistema. Por esta razón, los manipuladores icono de superposición deben aplicarse sólo si no hay alternativas satisfactorias

Puedo entender la limt 15 superposición en Windows 95. Sin embargo, en un entorno donde hay gigas de RAM, numerosos núcleos y GPU, ¿Hay alguna razón técnica para un número tan bajo en un sistema operativo moderno?

¿Y por qué este valor no es configurable?

Antes de dar la respuesta 'rendimiento', tenga en cuenta: de Windows permite una configuración tal que se puede matar a un rendimiento ... ¿por qué meterse con este tema en concreto?

+0

¿Por qué esta esta etiquetado "tortoisesvn"? ¿Me estoy perdiendo de algo? –

+16

Pensé que estaba siendo inteligente ya que tortoisesvn es la aplicación que se menciona con más frecuencia cuando se trata de limitaciones excesivas de íconos, principalmente porque se necesitan 9 de las ranuras disponibles. Se eliminó la etiqueta. – rbellamy

+1

Las limitaciones siguen siendo las mismas en Windows 10. No sé por qué tampoco. – Gohan

Respuesta

77

A menos que alguien aquí funcione en el equipo de Windows Shell, dudo que obtenga una respuesta que realmente resuelva las limitaciones técnicas y cómo afectan la elección del diseño. Pero lo intentaré ...

Supongo que no hay ninguna limitación técnica, o al menos no hay una ahora. La verdadera razón es, presumiblemente, que nadie se ha tomado el tiempo de sentarse y actualizar el código, el diseño y la especificación para levantar esta limitación. Las características no se implementan de forma predeterminada, y el hecho de que el entorno informático haya cambiado en los últimos años no significa que alguien se haya sentado y haya reescrito Windows para aprovechar al máximo todos esos cambios.

También debe considerar que es más que probable una opción de diseño consciente, en lugar de una limitación impuesta. Raymond Chen (que de hecho trabaja con en el equipo shell) publicó blog entry respondiendo al alboroto sobre Windows 7 al eliminar la superposición "compartir mano". Se presenta un argumento convincente de que la superposición icono en realidad no es una forma conveniente de mostrar la información (por encima y más allá del hecho de que el sistema está limitado a 15) [énfasis añadido]:

En términos generales, sobreimpresiones no a son buena manera de presentar información porque solo puede haber una superposición por icono, y hay un límite de 15 superposiciones por ImageList. Si hay dos o más plantillas que se aplican a un elemento , entonces uno va a ganar y los otros perderá, momento en que el valor de la superposición como una forma de determinar qué propiedades se aplican a un elemento disminuye ya que la única forma de estar seguro de que falta una propiedad es cuando no ve ninguna superposición. (Si ve alguna otra superposición, no puede indicar si es porque falta su propiedad o porque se muestra otra superposición en vez de .)

Me parece razonable que el desorden extra añadido al armazón simplemente no valga la pena en la mayoría de los casos del mundo real. Obviamente, el equipo de Windows Shell llegó a la misma conclusión y cortó la superposición de "manos compartidas". explicación directa de Raymond:

Teniendo en cuenta los cambios en cómo la gente usa ordenadores, compartir información es cada vez más del estado predeterminado . Cuando configura un grupo en el hogar, prácticamente todo va a ser compartido. Para eliminar el desorden visual, , la información se movió al panel de detalles .

Y, sé que pidió específicamente por no hablar de rendimiento, pero Windows realmente tratar para evitar que pegarse un tiro en el pie. Los usuarios exigen capacidad de respuesta en el shell y los iconos de superposición pueden interferir con esto. Como prueba adicional de que son no la prioridad, another blog post por el mismo Raymond Chen castiga:

Otro ejemplo de aplicaciones que tienen una visión egoísta de actuación se produjo de una empresa de desarrollo de un controlador de superposición icono . El shell trata cálculo de superposición como un elemento de baja prioridad , ya que es más importante que obtener iconos en la pantalla para que el usuario pueda comenzar a hacer lo que sea que quería hacer. Las decoraciones pueden venir más tarde. Esta empresa quería saber si había una manera de que pudieran mejorar su desempeño y obtener su superposición en la pantalla incluso ante el icono aparece, demostrando una interpretación extraordinariamente egoísta de "rendimiento".

+15

Excelente respuesta. Entonces, quizás la mejor pregunta sea "¿Qué es una alternativa a las superposiciones de iconos que presenta la misma cola visual instantánea sobre el estado de un archivo/carpeta?" Me parece que usar íconos para hacer más que identificar el tipo de contenido es cada vez más importante por la razón exacta que menciona Raymond Chen: con la difuminación de los límites de ubicación del archivo, el estado IMPORTA. – rbellamy

+0

Gracias, instalé y desinstalé Expandrive pero dejó sus íconos. Acabo de eliminar esas entradas del registro y reinicié. Funcionó bien, ahora mis iconos de sincronización de azúcar están de vuelta – AwokeKnowing

+0

Gran retroalimentación @ cody-gray. Mi principal queja es que, durante mucho tiempo, Gnome en Linux ha permitido más de 15 iconos. También permite a los usuarios usar más de 1 al mismo tiempo, ¡además puede ubicarlos en diferentes regiones! – Damian

12

Excelente respuesta en los asuntos prácticos por parte de Cody. En cuanto a por qué 15 y no a otro número, el límite se hornea en el control ImageList.

4

Todo esto está muy bien y bueno, como se explica por Cody gris, pero francamente es bastante poco imaginativo y como lo informa detrás de las escenas, sonando un poco frustrado

En 2015 y con Windows 10, seguramente no puede y necesita ser una mejor habilidad, ya que noté una treintena de capas superpuestas y tuve que priorizar aquellas que más quería ver, que no es de lo que más desea que la gente se preocupe. También veo vendedores agresivos como Box compitiendo demasiado para tratar de priorizarse, y eso nunca irá bien en ningún lugar.

Aquí hay una posibilidad. ¿Qué ocurre si los iconos superpuestos tienen un indicador de superposición genérico? una pequeña matriz rectangular de colores múltiples, como el botón Google Chrome Apps? Singly overlaid solo mostraría la superposición de una larga lista.

Luego, cuando el puntero del mouse se encuentra con el icono, una pequeña ventana desplegable recoge todas las variaciones de iconos para ver (en tamaño de icono pequeño o un poco más grande). Cada icono superpuesto a su vez anuncia con la información sobre herramientas qué es, cuando pasa el mouse.

Ahora puede tener todas las superposiciones de iconos que necesita, para estado en varias nubes, para indicaciones de repositorio como para herramientas Tortoise, y así sucesivamente.

+1

La idea detrás de las superposiciones es que usted debería ser capaz de identificar el estado del objeto bajo observación "de un vistazo". Su plan, si bien es creativo, requerirá "manos a la obra con el teclado o el mouse" para poder visualizar la información. No es que tenga una mejor solución ... – rbellamy

+0

Si tienen que estar en una ventana desplegable, ¿por qué no simplemente colocan la información en la barra de información o en el panel de vista previa o en algún otro lugar en la interfaz de usuario? El objetivo de los iconos de superposición es que en realidad están superpuestos y son visibles de un vistazo. –