rbe*_*amy 84 windows icons windows-explorer windows-shell
此时,每个人都知道ShellIconOverlayIdentifiers
(来自MSDN)的数量有限制:
系统可以支持的不同图标叠加处理程序的数量受系统图像列表中可用于图标叠加的空间量的限制.目前有15个插槽用于图标覆盖,其中一些是由系统保留的.因此,只有在没有令人满意的替代方案时才应实施图标叠加处理程序
我可以理解Windows 95中的15个覆盖限制.但是在一个有Gigs of RAM,众多内核和GPU的环境中,现代操作系统中有这么低数量的技术原因吗?
为什么这个值不可配置?
在给出"性能"答案之前,请考虑: Windows允许配置,以便您可以杀死性能......为什么要特别选择这个问题?
Cod*_*ray 84
除非这里的某个人碰巧在Windows Shell团队工作,否则我怀疑你会得到一个真正解决技术限制以及它们如何影响设计选择的答案.但我会试试......
我的猜测是没有任何技术限制,或者至少现在没有技术限制.真正的原因可能是没有人花时间坐下来更新代码,设计和规范来解除这个限制.默认情况下不会实现功能,仅仅因为计算环境在过去几年中发生了变化并不意味着有人坐下来重新编写Windows以充分利用所有这些更改.
您还应该考虑这很可能是有意识的设计选择,而不是强加的限制.雷蒙德陈(究竟是谁做的外壳团队合作)发表了博客条目回答有关Windows 7的沸沸扬扬删除"共享手"覆盖.他提出了一个令人信服的论点,即图标叠加真的不是一种显示信息的理想方式(超出系统限制为15的事实)[强调补充]:
一般来说,叠加不是一种呈现信息的好方法, 因为每个图标只能有一个叠加,每个ImageList限制为15个叠加.如果有两个或多个叠加层适用于某个项目,那么一个将胜出而其他叠加将失败,此时叠加层的值作为一种确定哪些属性适用于某个项目的方式会减少,因为唯一的方法是确定当你看不到任何叠加时,属性丢失了.(如果您看到其他一些叠加层,则无法判断是否因为您的属性丢失或是因为显示其他叠加层而不是您的属性.)
对我来说,在大多数真实案例中添加到shell中的额外混乱根本不值得,这似乎是合理的.Windows Shell团队显然得出了相同的结论并削减了"共享手"覆盖.雷蒙德的直接解释:
鉴于人们使用计算机的方式发生了变化,共享信息正变得越来越多地处于默认状态.当你设置一个家庭组时,几乎所有东西都将被共享.要删除视觉混乱,信息将移至"详细信息"窗格.
并且,我知道你特别要求不要提及性能,但是Windows确实试图让你不要让自己陷入困境.用户需要shell中的响应能力,而叠加图标可能会干扰这一点.作为进一步的证据,证明他们是不是优先,另一篇博客中由同雷蒙德陈惩戒:
另一个具有自私的性能视图的应用程序示例来自开发图标叠加处理程序的公司.shell将重叠计算视为低优先级项,因为在屏幕上获取图标更重要,这样用户就可以开始做他们想做的任何事情了.装饰品可以晚一点来.这家公司想知道是否有一种方法可以改善他们的表现,甚至在图标出现之前将其叠加到屏幕上,展示了对"表现"的非凡自私的解释.
归档时间: |
|
查看次数: |
23265 次 |
最近记录: |