9 ms·
Now that this is closer to shipping, I'm curious what impact this would have on battery life. On the one hand, this is lighting up more silicon; on the other ha
by pohl 9y ago
Now that this is closer to shipping, I'm curious what impact this would have on battery life. On the one hand, this is lighting up more silicon; on the other hand: a faster race to sleep, perhaps?
Have there been any measurements on what the end result is on a typical modern laptop?
- kibwen 9y agoDespite the huge fans and heatsinks on modern desktop GPUs, I presume that a GPU would still use less energy than a CPU for the same workload, yes? Do mobile GPUs have a sleep mode comparable to mobile CPUs? Completely agreed that some measurements would be nice.
- TylerE 9y agoA modern high-end GPU can draw upwards of 200w. Edit: Not sure why I'm being downvoted for stating a simple fact. The top-of-the-line AMD and NVidia cards have TDPs of 200-250w.
- 0xffff2 9y agoYour comment is both true and utterly irrelevant to the person you replied to who asked about comparison between CPU and GPU efficiency. The important information to answer the question is how much power the GPU will use, not how much it can use.
- lightedman 9y agoBut how much it can use gives you an upper limit on how much it will use. To boot, that also gives you an idea of how much power one can expect to draw under full load at any given time over any given time frame.
- imtringued 9y agoHigh end desktop CPUs draw around 90W and 200W GPUs can do one or two orders of magnitude more computation in specialised workloads than CPUs.
- ChoGGi 9y agoTDP for the i9-7980 is 165W, and the 1080ti is at 250W
- pohl 9y agoThe Radeon Pro 560 on my MacBook Pro can draw "up to 75W". I don't know anything about how it manages power, but I do recall that Apple recommended in a WWDC session on writing energy-efficient apps that one should be careful to not trigger the discrete GPU when the integrated Intel GPU is sufficient. So that leads to another question: on my machine, which GPU would Webrender be using? I suppose I could find out experimentally, but I thought I'd ask in case someone here knows.
- epmaybe 9y agoSince the 15" MBP charger can deliver up to 87W, if you have full power draw on the MBP will you actually not be able to fully supply power over AC? I assume that the CPU also takes up around 20-30W.
- metajack 9y agoFor WebRender, we targeted the integrated GPUs. You still need some logic to ensure you don't accidentally kick the discrete one into gear, but the integrated ones definitely have enough performance for almost anything WR will throw at it.
- lwansbrough 9y agoI know it’s not officially released, so I’m hoping it gets fixed, but FF57 rips through my Mac’s battery life and runs insanely hot on simple JS apps. I still use it daily because it generally works, but there are a few apps I just have to go to Chrome for.
- spiderfarmer 9y agoSame here. FF has always performed poorly on my 15” 2015 rMBP, but this made it worse.
- kkarp 9y agoI suggest reporting a bug to Bugzilla. The positive side effect will be you will see how efficiently they handle such reports. And you will get it fixed.
- the_duke 9y agoI'm pretty sure they are aware of it. I have the same issues on Linux. It's really fast, but often it hogs one core completely and the CPU does a lot of work, sending the fans in overdrive. Especially when videos are involved. Let's hope things get ironed until a stable release in november
- nachtigall 9y agoAs said in sibling: Open a bug report at https://bugzilla.mozilla.org/ https://bugzilla.mozilla.org/ Mention Quantum Flow and "performance" in it. Make sure to attach a performance profile with https://perf-html.io/ https://perf-html.io/ using the linked add-on there. I had many cases where the mozilla devs were glad about such bug reporst (especially if you are on Linux - I am too :) - which is not so often used and reported like Windows or Mac)
- spiderfarmer 9y agoDone: https://bugzilla.mozilla.org/show_bug.cgi?id=1407536 https://bugzilla.mozilla.org/show_bug.cgi?id=1407536
- nonsince 9y agoYour browser is doing ~60fps rendering on the GPU already, it's just doing it much less efficiently. This does less work on the CPU _and_ less work on the GPU, for the same result.
- RussianCow 9y agoI don't think this is actually true. If you're looking at a static page that doesn't change in any way, isn't the browser completely idle? Edit: To clarify, I realize that the screen gets refreshed ~60 times per second (depending on refresh rate), but I don't think any rendering actually happens if it doesn't need to.
- s_ngularity 9y agoThe GPU is drawing 60 times a second regardless of whether the page is static. Not sure how they do their streaming to the GPU, but there will be state changes every time you scroll, or click a button, etc., even on a static page.
- TickleSteve 9y agono, the GPU is refreshing the video output at 60Hz, the graphics are not being redrawn at 60Hz in your typical GUI application. Games are a special case of course.
- pohl 9y agoThe specs for my mobile GPU say that it has 1024 cores. Wouldn't it be surprising if they were all fully active regardless of workload? (It seems like low-hanging fruit for making a laptop GPU energy efficient.)
- rayiner 9y agoThere is a difference between drawing the frame into the frame buffer, and scanning the frame buffer out to the display. If you application is coded at all sanely, only the latter is happening at 60 Hz with a static page.
- 9y ago
- deafcalculus 9y agoGames eat a lot of power by rendering this way. So, definitely a concern, and I'd want to see benchmarks before switching from Safari on my macbook. That said, GPUs are pretty clever about this. A big chunk of power consumption comes from IO. i.e., moving data from the GPU to the off-chip DRAM. Mobile GPUs optimize for static scenes where nothing is changing by keeping hashes of small blocks (say 32x32 pixels) of the frambuffer in on-chip memory. If the hash of a block hasn't changed, they don't bother re-writing that block into the framebuffer. But the GPU is still ends up running the shaders every frame.
- throwaway613834 9y agoBy mobile GPU do you mean like Intel? Or even NVIDIA?
- deafcalculus 9y agoMali. Not sure about the others.
- namibj 9y agoI think he means Mali and such.
- shaded-enmity 9y agoI think you mean tile based rendering [1] - another huge plus of that architecture is the reduction of overdraw, where only the "most recent" write to certain block is effective. [1]: https://en.wikipedia.org/wiki/Tiled_rendering https://en.wikipedia.org/wiki/Tiled_rendering
- drudru11 9y agoI have some experience with immediate mode UIs. These UIs and Game engines typically burn CPU and GPU even for an idle menu on the screen. I suspect that Mozilla will only re-render and composite on actual changes. Otherwise the power draw will be quite noticeable. The benefit of this new arch will be that they can guarantee 60 fps during that time.
- metajack 9y agoWebRender is retained mode, not immediate mode. It will only repaint when repaint is needed, but if any repaint is needed, we will paint every pixel. There are CPU and GPU side caches for intermediate results like glyph atlases, so that doesn't necessarily mean we redo all the work every frame. Just to give more perspective, invalidation is not free, and there are cases where invalidation itself takes longer than your frame budget. Also, in the case where you have to repaint everything or almost everything anyway, invalidation just made your problem worse since you spent cycles figuring out you can't skip any work.
- Const-me 9y agoDon’t know about measures. But eventually, after a couple stable FF versions are released with that new renderer, I’d expect positive impact. GPUs are much more power efficient per FLOP. E.g. in my desktop PC, theoretical limit for the CPU is 32 FLOP/cycle * 4 cores * 3.2 GHz = 400 GFLOPS, for the GPU the theoretical limit is 2.3 TFLOPS. TDP for them is 84W CPU, 120W GPU. A GPU has vast majority of transistors actually doing math, while in a CPU core, large percentage of these transistors are doing something else. Cache synchronization/invalidation, instructions reordering, branch prediction, indirect branch prediction (GPU has none of that), instruction fetch and decode (for GPU that’s shared between a group of cores who execute same instructions in lockstep).
- rkangel 9y agoPower consumption is super-linear with clock speed. This means that in general splitting work from one core on to two cores running at half the speed will save power. I would expect that in the long term, GPU rendering would be more efficient. In the short term the fact that the CPU is having to do a lot of work to manage the GPU may make it less efficient.