Windows 7 Boot Process Evolution, New Eye Candy and Code Changes

Camouflaging boosted performance

By on February 20th, 2009 20:01 GMT
The evolution of the boot process in Windows 7 is synonymous with code changes bringing to the table new eye-candy and camouflaging boosted performance. Karen Wong, a program manager on the Core User Experience feature team, indicated that it was precisely the significant code changes that were introduced in Windows 7 for the new boot that made possible the new boot animation. In this context, Wong explained that Microsoft in no way simply kept what was introduced with Windows Vista and just slapped a new animation on top.

“In Vista, the boot loader is using a low resolution 640x480 screen, and file size required for the green animated progress bar is very small. Furthermore, the Vista boot screen had low color depth – 16 bits per pixel (bpp). We increased this in Win7 to 32 bpp, which enabled the color richness you see in the new boot animation. Updates to the Vista boot progress indicator were achieved via the CPU, which was susceptible to I/O time, therefore causing occasional glitches in the animation. With the low resolution screen, limited color depth, and susceptibility to glitches – we knew we had our work cut out for us if we wanted to build something fancier for Win7,” Won revealed.

The new Windows 7 start-up animation is designed to display as the operating system's kernel and critical device drivers are loading into memory in the background. For this, Microsoft had to implement a new mechanism in the Win7 boot loader. “It gets a pointer to the frame buffer from the firmware (either BIOS or UEFI firmware), and displays a higher resolution image (1024 x 768),” Wong explained. The Windows 7 boot animation makes no use of the native graphics driver for the display, since there are none loaded into memory or initialized at this point in the start-up process. Instead, the animation is rendered exclusively via the CPU. Wong informed that the process involved updating the graphics display frame buffer, a task that was optimized for performance using caching techniques.

“The early stage of boot is I/O bound, as it is loading the kernel, device driver files, and other system component files. We therefore limited the dimensions of the boot animation to a small region of the screen, to avoid introducing any delay during the early stage of boot. A larger animation area would require loading a larger set of animation images, which adds to the file I/O. The animation images are compressed by incorporating the bitmaps as resources, which are then compressed using WIM image compression. WIM image compression reduces the overall file size, thereby reducing the I/O required to read them in. It also reduces the on-disk footprint,” Wong said.

According to Microsoft, the actions made to boost performance and to introduce quality improvements for the new start-up animation in Windows 7 were synonymous with changes into the boot architecture that decreased the overall boot time. This because, unlike in Vista, where the pear animation comes only after the boot sequence is complete, the new Windows 7 animation happens as the process moves along.

“Another change we made that improved not only the performance of boot, but the quality, was the reduction of transitions in graphics mode,” Wong stated. “These transitions occur during initialization of the graphics subsystem and Windows shell. In Vista, these cause the boot experience to be less smooth, as the display changes (flashes black) a few times before presenting the user with a logon screen (or the user’s desktop if there is only one system user).”

In addition to the Vista specific pearl animation, Microsoft has also tweaked the Windows start-up sound in Windows 7. Users of Windows 7 Beta, and additional releases, have already noticed that Windows 7 is as mute as the Betta fish for the most part of the start-up. This is because Microsoft moved the start-up sound, which had to fall back on a fully loaded system sound stack in order to play, later on during boot.

“We changed the sound to now play asynchronously, anytime after the logon screen loads. On most hardware that we tested, this is right when the logon screen displays. We heard customer feedback in Vista that the sound played and caught your attention, but boot was not yet complete. So in addition to performance benefits, this change also improves the user experience by letting users know when their machine is ready for use,” Wong added.

1 Comment