Posted Sep 13, 2007 16:04 UTC (Thu) by iabervon
In reply to: Sucking power
Parent article: LinuxConf.eu wrapup
My feeling is that a smaller portion of applications on Windows do anything at all when they aren't the user's main task. There's a relatively small set of applications that will interrupt you (many of which are integrated with the kernel and sleep on input from drivers instead of polling), and some that play background music, but mostly they don't do anything when they don't have focus. Linux doesn't have so much of a mechanism for telling applications whether the user cares about them (and tends to have users watching a dozen things out of the corners of their eyes), so everything has to be polling if the things it is supposed to respond to aren't things that can be blocked on.
It's also the case with Gtk+ at least that it's hard to get good results out of multiple threads (each of which blocks on a different input) all updating the display; the only easy thing that works (last time I checked) is to have a single thread poll for input having happened and take care of responding. I think Windows has a totally different locking model that requires less polling.
Of course, I run a particularly old-school UI on my laptop, and I've been getting ~14 W for interaction stuff (i.e., when I'm not actually creating significant load; how much power doing work uses is a separate issue). On my laptop, the main sources of wakeups seem to be that the trackpad's input doesn't get batched at all and is high-frequency when in use, and iwlwifi is always busy.
to post comments)