|
Power states are much more complex than this. In reality, CPUs and SoCs have multiple levels of sleep, some of which are standardized for a platform. ACPI at least tries to specify what should happen on x86/x64 systems. ARM has some standards, and then each SoC implements a lot of their own, which, to be fair, are sometimes really cool. For lots of the power saving modes, hardware drivers have to opt in. This is where a lot of problems happen, if a single driver doesn't work, a laptop won't go to sleep, and the battery dies. Or, on mobile, a single bug in some component (which may manifest itself only under certain situations, which is why a reset can fix some problems) can prevent a good sleep state from being entered. Of course software can also present problems. For the longest time, if WebGL content was loaded in any tab in, I think FF (either that or Chrome, heh), then the GPU would stay on and the system would never go to sleep. Fun stuff like that. The behavior people really want is "turns on quickly, uses little battery." That is harder to do on PC due to legacy, but part of the problem is also different usage patterns from mobile. Users check their mobile frequently, if something is draining the battery, odds are it'll be noticed in a couple hours and the phone will get a charge (and some apps potentially force killed, based on how knowledgeable the user is.) Laptops have less periodic usage patterns, so a single problem program may not get noticed before the battery is completely dead. |