Closed Bug 1139918 Opened 10 years ago Closed 10 years ago

Gecko is doing layer transactions at 50fps when idle in the gallery app

Categories

(Firefox OS Graveyard :: Performance, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(b2g-v2.1 ?, b2g-v2.2 ?, b2g-master affected)

RESOLVED DUPLICATE of bug 962594
Tracking Status
b2g-v2.1 --- ?
b2g-v2.2 --- ?
b2g-master --- affected

People

(Reporter: kats, Unassigned)

Details

Attachments

(1 file)

Attached file GDB backtrace
STR: 1. Turn on layer dumping from the developer menu 2. Enter the gallery app and wait for stuff to stop moving on the screen. ER: adb logcat output is quiet AR: adb logcat shows a continual flow of layer dumps, indicating new layer transactions arriving in the compositor. I used the WebIDE devtools to try to see if it was some script running but as far as I can tell JS is idle and this is a gecko issue. I'm not 100% confident in the devtools performance pane so I can't say that for sure. But this is a pretty serious issue as it uses the CPU even when it's supposed to be idle and will cause battery drain if you're in the gallery app, whether on the image thumbnail view or viewing a specific image. I have reproduced this on master builds on both Flame and Nexus 4. I grabbed a profile from a Flame, it is at [1], but it doesn't indicate what is causing the spin. A gdb backtrace of the child process of a random ctrl-c is also attached, and might shed some light. [1] http://people.mozilla.org/~bgirard/cleopatra/#report=992823cebcc9909bde4c10a512795cab59710d50&selection=0,38,12
Turning on the nglayout.debug.invalidation pref just outputs this endlessly: 03-05 10:14:03.116 I/Gecko (20739): Starting ProcessPendingUpdates 03-05 10:14:03.116 I/Gecko (20739): ---- PAINT START ----PresShell(0xb24ca700), nsView(0xb24d4b70), nsIWidget(0xb2b196c0) 03-05 10:14:03.116 I/Gecko (20739): ---- PAINT END ---- 03-05 10:14:03.116 I/Gecko (20739): Ending ProcessPendingUpdates 03-05 10:14:03.126 I/Gecko (20739): Starting ProcessPendingUpdates 03-05 10:14:03.126 I/Gecko (20739): ---- PAINT START ----PresShell(0xb24ca700), nsView(0xb24d4b70), nsIWidget(0xb2b196c0) 03-05 10:14:03.126 I/Gecko (20739): ---- PAINT END ---- 03-05 10:14:03.126 I/Gecko (20739): Ending ProcessPendingUpdates which indicates that nothing is actually getting painted. This agrees with the paintflashing results, which also indicate nothing getting repainted.
I tracked it down to a CSS animation on a <progress> element in the gallery app. Using WebIDE I see that the element in question has the style at [1] applied, but it's also display:none so we shouldn't be animating it in gecko. [1] https://github.com/mozilla-b2g/gaia/blob/5ff50e269bb7ca49bb24decdb437b8ca8afcb911/shared/style/progress_activity.css#L8
status-b2g-v2.1: --- → ?
status-b2g-v2.2: --- → ?
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → All
qawanted for branch checks.
Keywords: qawanted
Never mind, this is a dupe of bug 962594.
Status: NEW → RESOLVED
Closed: 10 years ago
Keywords: qawanted
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: