Closed
Bug 1423367
Opened 7 years ago
Closed 6 years ago
We spend a lot of time during TextDrawing in nsIFrame::IsSelected
Categories
(Core :: Graphics: WebRender, defect, P3)
Core
Graphics: WebRender
Tracking
()
RESOLVED
DUPLICATE
of bug 1503581
People
(Reporter: jrmuizel, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [wr-mvp] [triage])
About 27% of the time from a profile of Gmail
Updated•7 years ago
|
Whiteboard: [wr-mvp] [triage]
Updated•7 years ago
|
Blocks: stage-wr-trains
Priority: -- → P3
Comment 1•6 years ago
|
||
Is this still an issue?
I took a quick look at the code, and it seems like the only non-trivial work (e.g. not checking flags) is
https://searchfox.org/mozilla-central/source/dom/base/nsRange.cpp#198-281
which is doing a bunch of hashtable/linkedlist walking
Flags: needinfo?(jmuizelaar)
Reporter | ||
Comment 2•6 years ago
|
||
Another profile: https://perfht.ml/2LUufnT
You can reproduce this pretty easily on https://github.com/mozilla/gecko-dev/blob/master/layout/painting/FrameLayerBuilder.cpp by selecting a lot of test.
Flags: needinfo?(jmuizelaar)
Reporter | ||
Comment 3•6 years ago
|
||
This is really bad with regular Gecko too https://perfht.ml/2LYjK30.
We can probably postpone.
Comment 4•6 years ago
|
||
Looking at the profile it's likely that it became worse with bug 651120. Olli has improvements to CompareDocumentPosition / ComputeIndexOf IIRC... Though maybe something smarter can be done to this selection code.
This is particularly bad because tables, which is what GitHub uses for the view source stuff, create a bunch of different ranges.
Comment 6•6 years ago
|
||
Nope, how would that fix this. This was filed when we still had childarray with faster indexof(childnode). Bug 1488278 may help a bit with this in Nightly.
Comment 7•6 years ago
|
||
yeah, doesn't help much.
Comment 8•6 years ago
|
||
FWIW, that case somehow manages to break the indexof cache. Both the old and new version of that.
Comment 9•6 years ago
|
||
Is this a dupe of bug 1464632 , and bug 1503581 for the remaining work ?
Flags: needinfo?(a.beingessner)
Comment 10•6 years ago
|
||
Yep! Totally forgot this bug existed.
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(a.beingessner)
Resolution: --- → DUPLICATE
Updated•2 years ago
|
Blocks: wr-displaylist-perf
You need to log in
before you can comment on or make changes to this bug.
Description
•