- Windows 7과 Windows Server 2008 R2에서 단색 바탕화면을 쓰면 로그온 중 Welcome 화면이 최대 30초 동안 남을 수 있었고, 원인은 준비 완료 신호 누락이었음
- 로그온 시스템은 작업 표시줄, 시스템 서비스 구성요소, 바탕화면 창, 배경화면 표시 등이 모두 준비 완료를 보고하거나 30초가 지나야 Welcome 화면을 전환함
- 배경화면 코드가 비트맵 배경이 있을 때만
Report(WallpaperReady)를 호출해, 비트맵이 없는 단색 배경에서는 대기 조건이 끝까지 채워짐 - “Hide desktop icons” 그룹 정책도 같은 패턴으로
Report(DesktopIconsReady)호출이 조건문 안에 묶이면 아이콘 준비 보고가 빠질 수 있음 - 실제 로그온이 항상 30초 늘어난 것은 아니며, 원래 5초나 25초에 끝났을 준비 과정과 무관하게 Welcome 화면이 타임아웃 30초까지 유지된 현상임
단색 배경에서 Welcome 화면이 오래 남은 이유
- 로그온 인증이 끝나면 Windows는 사용자의 데스크톱 환경을 구성함
- 작업 표시줄 생성
- 여러 시스템 서비스 담당 구성요소 로드와 초기화
- 바탕화면 창 생성과 아이콘 표시
- 바탕화면 배경 창에서 배경화면을 로드하고 화면에 그림
- 로그온 시스템은 각 구성요소가 준비됐다고 보고할 때까지 기다림
- 모든 구성요소가 준비 완료를 보고하면 Welcome 화면에서 전환함
- 또는 30초가 지나면 Welcome 화면에서 전환함
- 단색 배경 문제는 배경화면 준비 보고가 비트맵 로딩 코드 내부에 있었기 때문에 발생함
- 비트맵 배경이 정의되어 있으면 파일을 찾고, 메모리에 로드하고, 화면에 그린 뒤
Report(WallpaperReady)를 호출함 - 단색 배경처럼 비트맵이 없으면 해당 코드 경로가 실행되지 않아
WallpaperReady보고가 발생하지 않음 - 로그온 시스템은 오지 않을 보고를 기다리다가 30초 제한에 도달함
- 비트맵 배경이 정의되어 있으면 파일을 찾고, 메모리에 로드하고, 화면에 그린 뒤
그룹 정책에서도 반복된 준비 신호 누락
- 관련 지원 문서에는 “Hide desktop icons” 그룹 정책을 켠 경우에도 30초 지연을 겪을 수 있다고 나와 있음
- 그룹 정책은 기존 코드 위에 나중에 덧붙는 경우가 많아, “정책이 허용하면 실행” 같은 조건문으로 감싸지기 쉬움
- 원래 바탕화면 아이콘 초기화 코드는 바탕화면 폴더에 바인딩하고, 아이콘을 열거하고, 화면에 추가한 뒤
Report(DesktopIconsReady)를 호출함 - 그룹 정책 지원을 추가하면서 이 전체 블록이 정책 조건문 안으로 들어가면, 아이콘 숨김 정책이 활성화된 경우 준비 완료 보고도 실행되지 않음
- 원래 바탕화면 아이콘 초기화 코드는 바탕화면 폴더에 바인딩하고, 아이콘을 열거하고, 화면에 추가한 뒤
- 이 현상은 로그온 작업 자체가 추가로 30초 걸린다는 뜻이 아님
- 시스템 성능에 따라 원래 모든 준비 보고가 끝나는 시간이 5초일 수도 있고 25초일 수도 있음
- 문제가 있는 경우 Welcome 화면은 실제 준비 시간과 무관하게 30초 타임아웃까지 유지됨
- 문서 타임스탬프 기준으로 이 문제는 Windows 7이 2009년 7월 출시된 뒤 몇 달 후인 2009년 11월 수정됨
- 비트맵 배경을 피하던 이유로는 과거 4MB 또는 8MB 메모리 환경에서 배경화면만으로 약 0.75MB를 쓰는 것이 부담스러웠다는 점이 있음