Startup apps start up when I tell them
I remember some magazine article about Windows 8, and it talked about how fast Windows 8 started up compared to Windows 7. The way they measured it was by putting a shortcut to Notepad in the Startup group, then booting the computer, and timing how long before the Notepad window opened.
I laughed at this metric because I control when startup groups start up. As in me, personally.
The Explorer startup sequence has a number of phases, carefully arranged to get visible things ready first, and less visible things ready later. And one of the lowest priority items is the Startup group.
In fact, even after everything is finished initializing, there is a bonus extra delay before the Startup group gets processed. We’ve found that one of the big frustrations people have with Windows is that after signing in, they can’t use the computer because all of the Startup programs are thrashing the computer. Launching all the programs in the Startup group and similar auto-start locations (like the Run key) means that you have a dozen programs all trying to load themselves off the disk, which thrashes the computer so hard that the user can’t even open the Start menu.
There have been a variety of approaches taken to mitigate the impact of auto-start programs. One trick was to run auto-start programs in a box that keeps them at low CPU and disk priority for 60 seconds. In Windows 8, one new trick was to delay launching the next program until the previous one has settled down, where “settled down” means “stopped consuming a lot of CPU and disk I/O bandwidth.” Another trick was simply to wait longer before starting the auto-start programs in the first place.
Measuring how long it takes for Notepad to open is in large part simply a way of extracting the parameter I passed to the
I could have made Windows boot faster or slower according to their metrics by simply tweaking how long I slept before firing up the auto-start programs.