Raymond Chen, inżynier Microsoftu, ujawnia przyczyny opóźnień w logowaniu do systemu Windows 7, które występowały od jego premiery w lipcu 2009 roku. Problem dotyczył użytkowników, którzy wybrali jednolity kolor jako tło pulpitu, co skutkowało 30-sekundowym oczekiwaniem na przełączenie z ekranu powitalnego na Pulpit.
- Raymond Chen, inżynier Microsoftu, ujawnia przyczyny 30-sekundowych opóźnień w logowaniu do Windows 7.
- Problem dotyczył użytkowników z jednolitym kolorem tła pulpitu, co wpływało na czas przełączenia na Pulpit.
- Microsoft potwierdził istnienie opóźnienia i wydał poprawkę w listopadzie 2009 roku.
- Opóźnienie wynikało z błędu w kodzie odpowiedzialnym za ładowanie tapety, co uniemożliwiało raportowanie gotowości.
- Podobne opóźnienia występowały przy włączonej zasadzie grupy "Ukryj wszystkie ikony na pulpicie".
Potwierdzenie błędu przez Microsoft
Microsoft potwierdził istnienie opóźnienia w listopadzie 2009 roku i wydał poprawkę. Jednak szczegóły techniczne dotyczące problemu nie były znane aż do teraz, kiedy Chen postanowił je ujawnić.
Proces logowania w Windows 7
Po uwierzytelnieniu użytkownika, system Windows rozpoczyna tworzenie pulpitu, co jest złożonym procesem. Wiele komponentów uruchamia się jednocześnie, a system logowania czeka na sygnał od wszystkich, że są gotowe. Gdy wszystkie elementy zgłaszają gotowość lub upłynie 30 sekund, system przełącza się na Pulpit.
Przyczyna opóźnienia
Problem tkwił w kodzie odpowiedzialnym za ładowanie tapety. Chen przedstawił fragment kodu, który ilustruje, że funkcja raportująca gotowość tapety znajdowała się wewnątrz funkcji ładującej bitmapę. W przypadku braku zdefiniowanej tapety, raport o gotowości nigdy nie był wysyłany, co skutkowało 30-sekundowym oczekiwaniem.
Wpływ zasad grupy
Podobne opóźnienie występowało, gdy włączona była zasada grupy „Ukryj wszystkie ikony na pulpicie”. Zasady grup są podatne na problemy, gdyż często są dodawane do kodu po jego napisaniu. Chen zaprezentował zaktualizowany kod, który uwzględniał warunki zasad grup, co mogło prowadzić do opóźnienia w raportowaniu gotowości ikon.
Znaczenie testowania
Historia ta ilustruje złożoność interakcji między elementami systemu operacyjnego. Drobne niedoskonałości w kodzie mogą prowadzić do nieoczekiwanych konsekwencji dla użytkowników. Chen podkreśla, że opóźnienie nie wydłużało rzeczywistego czasu uruchamiania systemu, a jedynie czas wyświetlania ekranu powitalnego.
Wnioski
Opóźnienia w logowaniu do Windows 7 pokazują, jak ważne jest dokładne testowanie wszystkich kombinacji ustawień w złożonym oprogramowaniu. Każda zmiana może prowadzić do nieprzewidzianych skutków ubocznych, co podkreśla znaczenie staranności w procesie tworzenia oprogramowania.