Closed Bug 969325 Opened 11 years ago Closed 10 years ago

High power consumption on Instagram while idling

Categories

(Core :: Graphics, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: rvitillo, Unassigned)

References

Details

(Keywords: power, regression)

Attachments

(2 files)

Attached image Power consumption on Linux (deleted) —
Firefox is consuming an excessive amount of CPU resources while idling on Instagram compared to Chrome on Linux.
Attached file Testcase 1 (deleted) —
The issue seems to occur when the same image, declared more than once with different width and heights, is used as a background with a size of 100%.


Hottest stacktrace of FF while displaying the testcase:

skia::BGRAConvolve2D(unsigned char const*, int, bool, skia::ConvolutionFilter1D const&, skia::ConvolutionFilter1D)
skia::BGRAConvolve2D(unsigned char const*, int, bool, skia::ConvolutionFilter1D const&, skia::ConvolutionFilter1D const&, int, unsigned char*, bool)
skia::ImageOperations::ResizeBasic(SkBitmap const&, skia::ImageOperations::ResizeMethod, int, int, SkIRect const&, void*)
skia::ImageOperations::Resize(SkBitmap const&, skia::ImageOperations::ResizeMethod, int, int, SkIRect const&, void*)
skia::ImageOperations::Resize(SkBitmap const&, skia::ImageOperations::ResizeMethod, int, int, void*)
mozilla::gfx::Scale(unsigned char*, int, int, int, unsigned char*, int, int, int, mozilla::gfx::SurfaceFormat)
ScaleRunner::Run()
nsThread::ProcessNextEvent(bool, bool*)
NS_ProcessNextEvent(nsIThread*, bool)
mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*)
MessageLoop::RunInternal()
MessageLoop::Run()
nsThread::ThreadFunc(void*)
_pt_root
start_thread
Component: General → Graphics
Product: Firefox → Core
Good find. Can you confirm that this background activity doesn't go away after a delay?
Actually I guess your graph shows that even after 30 seconds we haven't reverted back to the idle state. This is 2 downscale of a 256x256 so it shouldn't take 30 seconds.

Milan this looks like a regression off background image scaling and looks serious.

Can we get a regression window for this bug? This will confirm any assumptions.
We only support one downscaled size per image, so I bet we just keep looping, downscaling to 40px, then downscaling to 20px, then downscaling to 40px...
So, the regression is traced all the way back to HQ image downscaling?
(In reply to Timothy Nikkel (:tn) from comment #4)
> We only support one downscaled size per image, so I bet we just keep
> looping, downscaling to 40px, then downscaling to 20px, then downscaling to
> 40px...

I buy this theory.

(In reply to Milan Sreckovic [:milan] from comment #5)
> So, the regression is traced all the way back to HQ image downscaling?

Sounds like a guess. A regression window should take ~15 mins on this testcase so we should still run it.
(In reply to Benoit Girard (:BenWa) from comment #6)
> (In reply to Milan Sreckovic [:milan] from comment #5)
> > So, the regression is traced all the way back to HQ image downscaling?
> 
> Sounds like a guess. A regression window should take ~15 mins on this
> testcase so we should still run it.

Or flip the image.high_quality_downscaling.enabled pref.
IMO with archived builds regression windows are more efficient then educated guesses, at least up to the Nightly window, but just my opinion ^-^.
Dupe Bug 927377 ?
n-i for Milan to assign someone after March 17th
Flags: needinfo?(milan)
I think seth might have some related plans here.
Flags: needinfo?(seth)
Yup, bug 977459, which I just recently started working on, should take care of this problem, if comment 4 is accurate.
Flags: needinfo?(seth)
Depends on: 977459
I'm clearing the needinfo for Milan here. This will be resolved by bug 1060200, which I'm uploading a patch for now. (Bug 1060200 was part of bug 977459 but I've decided to split that bug into smaller bugs.)
Flags: needinfo?(milan)
Depends on: 1060200
No longer depends on: 977459
This was fixed by bug 1060200. I just checked, and the problem no longer appears.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Issue is resolved - clearing old keywords - qa-wanted clean-up
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: