이 시점에서 모든 사람은 ShellIconOverlayIdentifiers
(MSDN에서) 수에 제한이 있음을 알고 있습니다 .
시스템이 지원할 수있는 다른 아이콘 오버레이 핸들러의 수는 시스템 이미지 목록의 아이콘 오버레이에 사용할 수있는 공간의 양에 의해 제한됩니다. 현재 아이콘 오버레이에 할당 된 15 개의 슬롯이 있으며 그중 일부는 시스템에 의해 예약되어 있습니다. 이러한 이유로 아이콘 오버레이 핸들러는 만족스러운 대안이없는 경우에만 구현해야합니다.
Windows 95에서 15 개의 오버레이 제한을 이해할 수 있습니다.하지만 RAM, 수많은 코어 및 GPU가있는 환경에서 최신 운영 체제에서 이렇게 적은 수의 기술적 이유가 있습니까?
그리고이 값을 구성 할 수없는 이유는 무엇입니까?
‘성능’답변을 제공하기 전에 다음 사항을 고려하십시오.
Windows는 성능을 저하시킬 수있는 구성을 허용합니다.이 문제를 구체적으로 선택하는 이유는 무엇입니까?
답변
여기에있는 누군가가 Windows Shell 팀에서 일하지 않는 한, 기술적 한계와 디자인 선택에 미치는 영향을 실제로 해결하는 답을 얻을 수 있을지 의심됩니다. 하지만 노력 할게 …
제 생각에는 기술적 제한이 없거나 적어도 지금은 없습니다. 진짜 이유는 아마도 아무도이 한계를 극복하기 위해 앉아서 코드, 디자인 및 사양을 업데이트하는 데 시간을 할애하지 않았기 때문일 것입니다. 기능은 기본적으로 구현되지 않으며 지난 몇 년 동안 컴퓨팅 환경이 변경되었다고해서 누군가가 앉아서 모든 변경 사항을 최대한 활용하기 위해 Windows를 다시 작성했음을 의미하지는 않습니다.
또한 부과 된 제한이 아니라 의식적인 디자인 선택 일 가능성이 더 크다는 점을 고려해야합니다. (실제로 레이몬드 첸 않습니다 쉘 팀 작업) 게시 된 블로그 항목 은 “공유 손”오버레이를 제거 윈도우 7에 대한 소란에 응답합니다. 그는 아이콘 오버레이가 정보를 표시하는 바람직한 방법이 아니라는 강력한 주장을합니다 (시스템이 15 개로 제한된다는 사실 이상) [강조 추가됨] :
일반적으로 오버레이는 아이콘 당 하나의 오버레이 만있을 수 있고 ImageList 당 15 개의 오버레이로 제한 되기 때문에 정보를 표시하는 좋은 방법이 아닙니다
. 항목에 적용되는 오버레이가 두 개 이상인 경우 하나는 이기고 다른 하나는 잃게됩니다.이 시점에서 항목에 적용되는 속성을 결정하는 방법으로서 오버레이의 값이 감소 합니다. 속성이 누락 된 것은 오버레이가 전혀 표시되지 않는 경우입니다. (다른 오버레이가 표시되는 경우 속성이 누락 되었기 때문인지 아니면 다른 오버레이가 귀하의 오버레이 대신 표시되기 때문인지 알 수 없습니다.)
셸에 추가 된 추가 혼란이 대부분의 실제 사례에서 그만한 가치가 없다는 것이 나에게 합리적으로 보입니다. Windows Shell 팀은 분명히 동일한 결론에 도달하고 “공유 손”오버레이를 잘라 냈습니다. Raymond의 직접적인 설명 :
사람들이 컴퓨터를 사용하는 방식이 변경됨에 따라 정보 공유는 점점 더 기본 상태가되고 있습니다. 홈 그룹을 설정하면 거의 모든 것이 공유됩니다. 시각적 혼란을 제거하기 위해 정보가 세부 정보 창으로 이동되었습니다.
그리고, 난 당신이 특별히 언급 성능을 요구 한 알고 있지만, 윈도우는 진짜로 하려고 발에서 자신을 촬영에서 당신을 유지합니다. 사용자는 셸에서 응답 성을 요구하며 오버레이 아이콘이이를 방해 할 수 있습니다. 그들이 있다는 증거로 우선 순위하지 , 다른 블로그 게시물 같은 레이몬드 첸 비난한다에 의하여 :
성능에 대한 이기적인 시각을 가진 애플리케이션의 또 다른 예는 아이콘 오버레이 핸들러를 개발하는 회사에서 나왔습니다. 셸은 오버레이 계산을 우선 순위가 낮은 항목으로 처리합니다. 사용자가 원하는 작업을 시작할 수 있도록 화면에 아이콘을 표시하는 것이 더 중요하기 때문입니다. 장식은 나중에 올 수 있습니다. 이 회사는 아이콘이 나타나기 전에 성능을 향상시키고 화면에 오버레이를 표시하여 “성능”에 대한 이기적인 해석을 보여줄 수있는 방법이 있는지 알고 싶었습니다.
답변
Cody의 실질적인 문제에 대한 탁월한 대응. 다른 숫자가 아닌 15 인 이유에 대해서는 제한이 ImageList 컨트롤 자체에 적용됩니다.
답변
Cody Gray가 설명했듯이 이것은 모두 매우 훌륭하고 좋지만 솔직히 상상력이 부족하며 뒤에서보고 된 것처럼 약간 실망 스럽습니다.
2015 년과 Windows 10에서는 분명히 30 개의 오버레이에 대해 언급했고 내가 가장보기를 원하는 오버레이의 우선 순위를 지정해야했기 때문에 더 나은 기능이있을 수 있고 필요합니다. 또한 Box와 같은 공격적인 공급 업체가 자신의 우선 순위를 정하기 위해 지나치게 경쟁하는 모습을 보았습니다.
여기에 가능성이 있습니다. 다중 오버레이 아이콘에 일반 오버레이 표시기가 있으면 어떻게 될까요? Google 크롬 앱 버튼과 같은 여러 색상의 작은 직사각형 매트릭스? 단일 오버레이는 긴 목록에서 오버레이를 표시합니다.
그런 다음 마우스 포인터가 아이콘을 만나면 작은 플라이 아웃 창에서 볼 수있는 모든 아이콘 변형을 수집합니다 (작은 아이콘 크기 또는 조금 더 크게). 각각의 오버레이 된 아이콘은 마우스를 올려 놓으면 도구 설명으로 그 의미를 알려줍니다.
이제 다양한 클라우드의 상태, Tortoise 도구와 같은 저장소 표시 등에 필요한 모든 아이콘 오버레이를 가질 수 있습니다.