6 ms·
Yeah I really don't understand why a zoom/skype video call absolutely MURDERS the battery on my laptop. It's basically just video playback. How is it so hard o
by AdamJacobMuller 6y ago
Yeah I really don't understand why a zoom/skype video call absolutely MURDERS the battery on my laptop.
It's basically just video playback. How is it so hard on the CPU?
- spideymans 6y agoBelieve it or not, the activity that drains the battery the fastest on my M1 MacBook Air is video calling. I can expect maybe 8 or 9 hours of battery life if I'm Facetiming all day. With all other workflows (developer workflows, of course), I consistently achieve at least 12 hours of battery (15+ hours is possible on the high end).
- function_seven 6y agoIt's also video encoding/compression for your outbound stream. If you're sharing your video on the call, that is. But wait... I never do. I join Webex calls all the time without enabling my camera, and it still eats 30% of anything available (memory, CPU, my patience, etc.) So, I guess I'm not sure?
- hctaw 6y agoAudio/video encoding is not cheap and it's questionable whether your device and software support hardware encoding. Decode is expensive too, but has better hardware support (which gives you the illusion that "just" video playback is somehow easy). It's really one of the most expensive cpu bound tasks in contemporary computing. It's not too different from evaluating CNNs.
- cosmotic 6y agoSoftware support for the hardware encoding/deciding is very not good. Webcam streams mpeg to electron, electron probably decodes in software, reencodes in sofware, then decodes incoming stream(s) in software. If there's any client side encryption or filtering, that probably also happens in software. It's probably all JS software too. It's like the worst possible case for how to architect an app for performance. At least it's JITed these days.
- 43920 6y agoZoom doesn’t use Electron, and AFAIK it’s all native code.
- guscost 6y agoIn this instance the Electron VM/etc matters a lot less than the “(re|en)codes in software” part.
- hctaw 6y agoZoom is QT, not electron. Also browser engines have good support for hardware decode, it's really in OSS libs and on platforms like Linux where there is little to no support.
- cosmotic 6y agoThey may have good hardware decode for web content, but whatever the circumstances, it's not kicking in for video conference. Maybe the use of low-latency codecs, multiple streams to decode, or other effects/compositing/analysis happening?
- m463 6y agoI believe it's about compression and bandwidth. There might be background removal and audio processing too.