Closed Bug 1357242 Opened 7 years ago Closed 5 years ago

Make initial browser remote by default in XUL markup

Categories

(Firefox :: General, enhancement, P4)

enhancement

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: mconley, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fxperf:p2])

Attachments

(1 file)

I suspect part of our start-up overhead is caused by a hack I introduced in bug 1261842, where when a new browser window opens, we wait on DOMContentLoaded, and swap out the initial non-remote browser for a remote one if gMultiprocessBrowser is true.

That hack was originally introduced to mitigate a tpaint regression where the DestroyWindow runnable for the initial <xul:browser> would delay the parent from being able to answer messages from the content process.

If I remember correctly, it's not as simple as just putting remote="true" on that initial browser, but I can't remember the complication. We should revisit this and find out.
Flags: qe-verify?
Priority: -- → P2
Assignee: nobody → mconley
Status: NEW → ASSIGNED
Iteration: --- → 55.4 - May 1
Flags: qe-verify? → qe-verify-
Priority: P2 → P1
See Also: → 1352021
Iteration: 55.4 - May 1 → 55.5 - May 15
Iteration: 55.5 - May 15 → 55.6 - May 29
I've got this working in the e10s case. Unsurprisingly, it's blowing up the non-e10s case.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=1b833aafc8953c623a39ae3e785d364d5d72f58c
Preliminary results suggest that this gives a nice win on the tpaint talos benchmark. I don't think it moves the ts_paint one much.
I'll do a comparison push to try for more certainty on that last comment. If it turns out that this doesn't affect ts_paint, we can probably remove this as blocking photon-startup.
The comparison shows a nice win on Linux64 and Windows for tpaint (window opening), but not for ts_paint (initial window opening). In fact, I see a small loss for Linux64 on that particular test with this patch.

I don't think this belongs under photon-startup anymore. We probably want to do this at some point, but I don't think it's going to help our start-up time right just yet.
No longer blocks: photon-startup
Iteration: 55.6 - May 29 → 55.7 - Jun 12
Assignee: mconley → nobody
Status: ASSIGNED → NEW
Iteration: 55.7 - Jun 12 → ---
Priority: P1 → P3
Whiteboard: [photon-performance] → [reserve-photon-performance]
Priority: P3 → P4
Whiteboard: [reserve-photon-performance] → [fxperf]
The non-remote browser constructor is more expensive than I would like; it triggers an about:blank load (bug 1446957). I think this bug still makes a lot of sense, but I would probably wait until bug 1446161 is fixed so that creating a remote browser doesn't block the main thread for the duration of the content process creation.
Depends on: 1446161
Whiteboard: [fxperf] → [fxperf:p2]

We've done this work in bug 1506608 and friends, and although it's not in markup, it is now remote as soon as it gets inserted into the DOM, so gonna mark this WFM.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: