Playing demo eventually maxes out CPU until I switch to another desktop

RESOLVED FIXED

Status

()

defect
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: bugs, Assigned: roc)

Tracking

({regression})

unspecified
x86_64
Linux
Points:
---

Firefox Tracking Flags

(blocking2.0 final+)

Details

(Whiteboard: [softblocker], )

Attachments

(1 attachment)

Reporter

Description

9 years ago
http://js1k.com/demo/48

Testing in both JägerMonkey and M-C nightly.
This one is rather curious, so I didn't put it in JavaScript - no idea where it should go.

Basically, if I made the little mario dude jump about a dozen times in Firefox, the CPU would slowly ramp up from the typical 5% or less until everything ground to a halt and 100% of one core was in use.

It would stay this way until I switched to the next desktop over in Gnome, at which point it immediately dropped down to 5% again.  Jumping about a dozen times repeated the process.  Was quite reproducible in both JM and MC.

No such behaviour in GC7.

I did have:
mozilla.widget.render-mode;6

set, it didn't occur to me until now to test w/o it if someone thinks it matters I can try it tomorrow.
Reporter

Updated

9 years ago
Reporter

Comment 1

9 years ago
Ok. Reproducible in x86 linux at home in a clean profile, sooo, that's not it.
Almost all the time (39000 of 41000 samples) is spent under nsViewManager::Refresh when things get slow.

Of that Refresh time, 92% is under the nsRegion::Sub call that mozilla::layers::ThebesLayouerBuffer::BeginPaint makes (doing SubRect, which calls Copy and InsertInPlace, etc).

Sounds like we end up with a more and more complex region, persisting over time, and we don't simplify it until a whole-window invalidate or something?  That would be consistent with what nemo and I (him on Linux, me on Mac) see: blurring the Mozilla window drops the CPU usage.
blocking2.0: --- → ?
Yep.
Assignee: nobody → roc
blocking2.0: ? → final+
Is this a regression?
Whiteboard: [soft blocker]
Whiteboard: [soft blocker] → [softblocker]
Posted patch fixSplinter Review
D3D9/D3D10 ThebesLayers just assign to mValidRegion so don't need this fix.
Attachment #503028 - Flags: review?(jones.chris.g)
Whiteboard: [softblocker] → [softblocker][needs review]
Attachment #503028 - Flags: review?(jones.chris.g) → review+
Whiteboard: [softblocker][needs review] → [softblocker][needs landing]
http://hg.mozilla.org/mozilla-central/rev/74c7d5446b36
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Whiteboard: [softblocker][needs landing] → [softblocker]
You need to log in before you can comment on or make changes to this bug.