Closed
Bug 1065954
Opened 10 years ago
Closed 10 years ago
Investigate paint overlapping
Categories
(DevTools :: Performance Tools (Profiler/Timeline), defect)
DevTools
Performance Tools (Profiler/Timeline)
Tracking
(firefox35 verified, firefox36 verified)
VERIFIED
FIXED
Firefox 35
People
(Reporter: paul, Assigned: pbro)
References
Details
Attachments
(2 files)
(deleted),
image/png
|
Details | |
(deleted),
patch
|
BenWa
:
review+
|
Details | Diff | Splinter Review |
While using the timeline, I often see paint operations starting at the exact same time and then overlapping. As far as I understand how we record markers, it should be impossible to have overlapping painting operations.
Assignee | ||
Updated•10 years ago
|
QA Contact: pbrosset
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → pbrosset
QA Contact: pbrosset
Assignee | ||
Comment 1•10 years ago
|
||
This looks wrong indeed.
Reporter | ||
Comment 2•10 years ago
|
||
Any idea what's going on?
Reporter | ||
Comment 3•10 years ago
|
||
We're missing a marker that ends a paint.
Assignee | ||
Comment 4•10 years ago
|
||
Good catch, that explains why we see several paint markers all ending at the same time.
Assignee | ||
Comment 5•10 years ago
|
||
So this is linked to bug 1071056?
Reporter | ||
Comment 6•10 years ago
|
||
(In reply to Patrick Brosset [:pbrosset] [:patrick] from comment #5)
> So this is linked to bug 1071056?
No.
Reporter | ||
Comment 7•10 years ago
|
||
<style>
p:hover{font-size: 20px}
</style>
<p id="foo">X</p>
This code can trigger this pattern:
> paint > reflow > paint > style
With the first paint ending where the second paint ends.
The first paint should not exist. So I believe the issue is not that we're missing a END marker, but we have an extra START marker.
Assignee | ||
Comment 8•10 years ago
|
||
This only happens on firefox desktop with the toolbox docked in the browser.
If you undock the toolbox in its own window, there's only one paint per hover anymore.
The extra paint comes from the timeline itself that refreshes while recording.
It also happen if you focus the URL bar (so that the caret blinks) and hover the <p> node.
Start/End markers always come in pairs within a tick, so it's not a problem that we have an extra start, but rather a problem that the code in nsDocShell::PopProfileTimelineMarkers fails at pairing Start and End paint markers correctly.
Assignee | ||
Comment 9•10 years ago
|
||
So the problem was that we weren't breaking out of the nested for loop if we met a start/end paint pair but no layer event in between, which means that we were then iterating until we did find a layer event.
Attachment #8493603 -
Flags: review?(bgirard)
Assignee | ||
Updated•10 years ago
|
Status: NEW → ASSIGNED
Hardware: x86_64 → All
Updated•10 years ago
|
Attachment #8493603 -
Flags: review?(bgirard) → review+
Assignee | ||
Comment 10•10 years ago
|
||
Pending try build: https://tbpl.mozilla.org/?tree=Try&rev=0f153a814518
Reporter | ||
Updated•10 years ago
|
Keywords: checkin-needed
Comment 11•10 years ago
|
||
Keywords: checkin-needed
Whiteboard: [fixed-in-fx-team]
Comment 12•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 35
Updated•10 years ago
|
Comment 13•10 years ago
|
||
Reproduced the bug on Nightly 35.0a1 (2014-09-11), using Windows 7 64-bit.
Verified fixed on Aurora 35.0a2 (2014-10-28 / 20141028155607) and Nightly 36.0a1 (2014-10-28), using Windows 7 64-bit, Ubuntu 14.04 LTS 32-bit and Mac OS X 10.9.5.
Comment 14•10 years ago
|
||
Sorry for the spam. Moving bugs to Firefox :: Developer Tools: Performance Tools (Profiler/Timeline).
dkl
Component: Developer Tools: Timeline → Developer Tools: Performance Tools (Profiler/Timeline)
Updated•6 years ago
|
Product: Firefox → DevTools
You need to log in
before you can comment on or make changes to this bug.
Description
•