Google will fix the battery-eating 'bug' in its Chrome browser
Google dramatically reduced idle times in Microsoft Windows to make its Chrome browser seem "peppier" but the real result was shorter battery life on laptops, and the waste of unknown megawatts of power.
At long last, Google plans to fix the "bug" — or "design feature" — in its Chrome browser that has reportedly been making Microsoft Windows run slower, shortening battery life, and wasting unknown megawatts of power mainly to make its browser look "peppier". But until it does, you may want to close Chrome when you're not using it, or possibly upgrade to Firefox.
As Dawson noted in a comment to the second bug report: "This bug needs to get fixed. It's a regression compared to Chrome's documented behaviour, it happens without Flash being loaded, and it happens on battery power. It not only wastes power and battery life, it also makes the PC 2.5 percent to 5 percent slower. I can't leave Chrome running on my laptop unless this is fixed. Chrome could save 10+ MW by fixing this bug, in addition to improving battery life."
What finally got the problem some attention was a post by Forbes contributor Ian Morris earlier this month: Google's Chrome Web Browser Is Killing Your Laptop Battery. The headline turned it from an issue that bothered a few programmers into one that had a significant impact on businesses and everyday consumers.
The problem is straightforward. Windows spends a lot of time asleep, to save power, but it wakes up every 15.625ms to see if anything needs doing. Chrome changed the timer to 1ms so it woke Windows up 1,000 times a second. This can be useful for some purposes, such as running Flash videos or playing games with high frame rates. Unfortunately, Chrome was increasing the global rate and not reducing it afterwards, which Internet Explorer does.
According to Microsoft: "With a resolution of 1ms, the low-power idle states are ineffective at reducing system power consumption and system battery life suffers. System battery life can be reduced as much as 25 percent, depending on the hardware platform. This is because transitions to and from low-power states incur an energy cost. Therefore, entering and exiting low-power states without spending a minimum amount of time in the low-power states can be more costly than if the system simply remained in the high-power state."
What's odd about all this is that it wasn't a bug, it was a "feature".
Google already knew it was causing problems before the 14 June, 2010 bug report. In fact, Chrome programmer Mike Belshe had already written a blog post about it 10 days earlier. In it, he admitted that "engineers at Intel pointed out that Chrome was causing laptops to consume a lot more power".
Indeed, Intel had pointed out in 2008 that "there is a significant increase in the average power consumption by CPU (~0.5W to ~1.05W) when the interrupts are increased. The power penalties on future platforms are expected to be significantly higher than these, and there is a need for the applications to be sensitive to the interrupt rate."
Intel's graph (right, Figure 3 in its paper) shows that, when idling, power consumption more than doubled.
Belshe says: "We were not concerned much about the impact on desktops, because Flash, Windows Media Player, and QuickTime, were already causing this to be true. But for laptops, this was a big problem. To mitigate, we started tapping into the Windows Power APIs, to monitor when the machine is running on battery power. So before Chrome 1.0 shipped out of beta, we modified it to turn off fast timers if it detects that the system is running on batteries. Since we implemented this fix, we haven't heard many complaints."
It's not clear if it was fixed and then lapsed, or whatever. Either way, Google's programmers have certainly heard some complaints now.
And if you were ever desperate to finish something on your laptop when you were running out of juice, you may now have someone to blame.