Windows가 아이콘 오버레이를 15로 제한하는 이유는 무엇입니까?


27

Dropbox vs TortoiseSVN과 다른 많은 앱 아이콘 오버레이 충돌에 대한 끝없는 질문을 볼 수 있습니다.

두 가지 예 :
왜 타사 응용 프로그램의 아이콘 오버레이가 Win8 탐색기에 표시되지 않습니까?
오버레이 아이콘이 변경되지 않도록 할 수 있습니까?

필자의 경우 Dropbox와 TortoiseSVN 만 있습니다. Dropbox는 정말 성가신 일입니다. 매번 업데이트 할 때마다 레지스트리에서 Dropbox의 오버레이를 삭제 한 다음 Windows 탐색기를 다시 시작하는 스크립트를 실행해야합니다.

Windows가 성능 때문에 오버레이를 15로 제한한다는 것을 알고 있습니다.
그러나 25 ~ 35로 증가하면 성능에 큰 영향을 미치게됩니까?
왜 Microsoft는 이것이 매우 인기있는 문제라는 것을 아직 깨닫지 못하고이를 해결하려고합니까?
적어도 고급 사용자가이 제한을 늘리기 위해 변경할 수있는 옵션이없는 이유는 무엇입니까?


얼마 전에이 Microsoft에 물었고 "성능 문제"를 이유라고 말합니다. 그들은 한계를 늘리지 않고 완전히 죽일 계획도 가지고 있습니다.
magicandre1981

1
단순한 성능이 아닙니다. 현재 구현에서, 최대 15 개의 오버레이를 제공하는 오버레이 인덱스를 정의하는 구조에 4 비트가 존재한다. 이 수를 늘리는 데 필요한 더 중요한 비트는 다른 목적으로 사용됩니다. 더 많은 오버레이 아이콘을 얻는 유일한 방법은 구현을 변경하는 것이며 호환성에 큰 영향을 미칩니다. 현재 구현에 의존하고 변경되면 중단되는 많은 수의 응용 프로그램 (모든 규칙을 따르는 잘 작성된 응용 프로그램)이 있습니다.
LMiller7

답변:


24

필자의 경우 Dropbox와 TortoiseSVN 만 있습니다. Dropbox는 정말 성가신 일입니다. 매번 업데이트 할 때마다 레지스트리에서 Dropbox의 오버레이를 삭제 한 다음 Windows 탐색기를 다시 시작하는 스크립트를 실행해야합니다.

다음 위치에서 사용하지 않는 오버레이를 제거하십시오.

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

  • KEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ explor‌er \ ShellIconOverlayIdentifiers

출처 : 왜 Win8 탐색기에 아이콘 오버레이 (타사 앱)가 표시되지 않습니까?

25 ~ 35로 증가 시키면 성능에 큰 영향을 미칩니 까?

현재 제한을 변경할 수 없으므로 제한이 증가한 경우 어떤 종류의 성능 영향이 있을지 예측할 수 없습니다.

왜 Microsoft는 이것이 매우 인기있는 문제라는 것을 아직 깨닫지 못하고이를 해결하려고합니까?

나는 그것이 당신이 생각하는 것보다 적은 사람들에게 영향을 미친다고 가정합니다. Windows Shell 팀의 누군가 만이 실제로이 답변을 알고있을 것입니다. Microsoft가 결정 결정을 내릴 때까지, 우리는 교육적인 추측 만 할 수 있습니다.

적어도 고급 사용자가이 제한을 늘리기 위해 변경할 수있는 옵션이없는 이유는 무엇입니까?

Windows Shell 팀의 누군가 만이 실제로이 답변을 알고있을 것입니다. Microsoft가 결정 결정을 내릴 때까지, 우리는 교육적인 추측 만 할 수 있습니다. 기본적으로 아무도 한계를 높일 수있는 코드를 작성하지 않았을 것입니다.

Microsoft 개발자 Raymond Chen은 아이콘 오버레이에 대해 다음과 같이 말합니다.

일반적으로, 아이콘 당 하나의 오버레이 만있을 수 있고 ImageList 당 15 개의 오버레이가 있기 때문에 오버레이는 정보를 표시하는 좋은 방법이 아닙니다. 아이템에 적용되는 오버레이가 두 개 이상인 경우 하나가 이기고 다른 하나가 잃어 버릴 것입니다.이 시점에서 아이템에 적용되는 속성을 결정하는 방법으로 오버레이의 값이 유일한 방법이기 때문에 감소합니다 오버레이가 전혀 보이지 않으면 속성이 누락 된 것입니다. (다른 오버레이가 표시되면 속성이 누락되었거나 다른 오버레이가 사용자 대신 표시되어 있는지 알 수 없습니다.)

Chen 씨는 또한 다음과 같이 말했습니다.

이기적인 성능 관점을 가진 응용 프로그램의 다른 예는 아이콘 오버레이 처리기를 개발하는 회사에서 비롯되었습니다. 셸은 오버레이 계산을 우선 순위가 낮은 항목으로 취급합니다. 화면에 아이콘을 가져 오는 것이 더 중요하므로 사용자가 원하는 작업을 시작할 수 있습니다. 장식은 나중에 올 수 있습니다. 이 회사는 아이콘이 표시되기 전에도 성능을 향상시키고 오버레이를 화면에 표시 할 수있는 방법이 있는지 알고 싶었습니다. 이는 "성능"에 대한 표현적인 이기적인 해석을 보여줍니다.

출처 : 그 작은 오버레이 아이콘은 무엇입니까 : Windows 7 에디션


3

Raymond Chen의 주제에 대한 새로운 블로그 게시물이 있습니다. 왜 15 개의 셸 아이콘 오버레이가 제한됩니까? 더 자세한 내용을 다루지 만 짧은 버전은 이유는 이전 버전 및 API와의 호환성, 성능 문제 및 아이콘 오버레이가 요즘 권장되지 않는 이유입니다.

기본적으로 그것은“많은 일이었고 우리는 게으르다”로 요약됩니다.

그리고 또한:

그러나 이것이 이루어지지 않은 주된 이유 는 파일에 대한 메타 데이터를 사용자에게 전달하는 방법으로 오버레이 가 권장되지 않기 때문 입니다.

과:

Windows 10에서는 OneDrive 파일 동기화 상태 표시기를 아이콘 오버레이에서 별도의 상태 열로 이동하여 아이콘 오버레이에서 한 단계 멀어집니다.


네! OneDrive가 다르게 작동하며 "온라인 전용"파일도 표시 할 수 있습니다. 그것은 더 많은 유연성을 제공하는 것처럼 보이는 매우 멋진 기능입니다. 정보 감사합니다.
Nuno

1

나는 또한 오해를 바로 잡고 싶다. 예, 총 15 개의 아이콘이 할당되었지만 Windows 시스템 자체에 4 개가 예약되어 있기 때문에 실제로는 11 개의 오버레이 아이콘을 사용할 수 있으므로 다른 프로그램에서 11 개의 아이콘을 사용할 수 있습니다. (15-4 = 11). 이에 따라입니다 마이크로 소프트의 공식 지원 웹 사이트 ( 보관 된 URL )

시스템이 지원할 수있는 아이콘 오버레이 핸들러 수는 시스템 이미지 목록에서 아이콘 오버레이에 사용 가능한 공간의 양에 의해 제한됩니다. 현재 아이콘 오버레이에 할당 된 15 개의 슬롯이 있으며 그 중 4 개는 시스템에 의해 예약되어 있습니다. 시스템에 11 개가 넘는 아이콘 오버레이 핸들러가 등록되어 있으면 아이콘 오버레이 핸들러가 제공하는 처음 11 개의 아이콘 오버레이 만 시스템 이미지 목록에 추가됩니다. 나머지 아이콘 오버레이 핸들러는 사용되지 않습니다.

출처 : 공식 Microsoft 지원 웹 사이트 ( 아카이브 된 URL )

PSA 공지 사항 :

또한 모든 쉘 아이콘 오버레이를 나열하는 전용 Wikipedia 페이지를 설계하여 사용자가 Dropbox, OneDrive, Tortoise 등에 가장 유용한 페이지를 식별 할 수 있습니다.

내 Wiki 페이지를 확인하고 기여하십시오 :

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


환상적입니다. Adobe Creative Cloud 아이콘 오버레이를 추가 할 수 있습니까? AccExtIco1, AccExtIco2, AccExtIco3
JamesHenare
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.