Thankyou for answering some historical mysteries for me. It has always irritated me that I didn't know why programs only sometimes drained battery while asleep - but it wasn't always like that, and I couldn't find a pattern in what programs affected it, and I didn't know why a Linux dual-boot on the same drive didn't cause the same issue. The backstory of this makes a whole lot of experiences make sense now.
What is involved in an app being S0 aware and running on DRIPS? Is this a badly-educated-developers-requiring-permanent-network-connections issue or a Microsoft-proprietary-certificate-bullshit thing or something completely different? I'm mostly curious for if I ever dive into desktop application development what performance optimisations I should be keeping in the back of my mind.
d3Xt3r@lemmy.nz 1 year ago
I haven’t developed a desktop app in ages so I’m probably not the best person to ask this, but my understanding is that if you develop a modern UWP app, then it automatically be S0 aware, and you can make use of WinRT APIs to execute background tasks. The user can also choose whether or not to allow this activity. I’m not sure if the WinRT APIs can be called from a regular Win32 app. For Win32 apps, as far as I’m aware, they should get suspended by the DAM automatically (and services may get throttled), but Windows may choose to unsuspend/unthrottle these apps if it thinks some critical activities are happening. I never looked into what it deems as a “critical activity”. Personally though I always disable S0 so that my laptop suspends as you’d expect it to
Bottomline is, if you’re making a UWP app it should all just automatically work, and if you’re making a Win32 app you need to look more into the DAM. There’s some info on that here: learn.microsoft.com/…/desktop-activity-moderator
fiat_lux@kbin.social 1 year ago
Thanks so much, this is extremely helpful. I've been separate from the entire Windows ecosystem for a long while, so a high level overview like this is perfect. I now have all the acronyms and names I need to research further instead of trying to figure out what acronym is responsible for what, which is always the most tedious part.