Closed Bug 1331676 Opened 3 years ago Closed 3 years ago

Creating a WebGL context can cause a sync IPC to the parent process

Categories

(Core :: Canvas: WebGL, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox53 --- fixed

People

(Reporter: ehsan, Assigned: ehsan)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

See this profile for example, where the Msg_GetGraphicsFeatureStatus sync IPC message causes a 1 second pause: <https://clptr.io/2jkHPo0>

This is caused by GfxInfoBase::GetFeatureStatus() delegating to the parent process.  Since the feature status doesn't change after startup, I have a patch that replaces this sync IPC with another sync IPC at startup where we ask the parent process to compute the status of all features, and cache them in the content process.  Since we already do sync IPC at content process startup, this should improve our responsiveness.
Attachment #8827540 - Flags: review?(jmuizelaar) → review?(dvander)
Comment on attachment 8827540 [details] [diff] [review]
Avoid doing sync IPC to the parent process for getting gfx feature status

Review of attachment 8827540 [details] [diff] [review]:
-----------------------------------------------------------------

Seems reasonable.
Attachment #8827540 - Flags: review?(dvander) → review+
Pushed by eakhgari@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2f86db66e8e4
Avoid doing sync IPC to the parent process for getting gfx feature status; r=dvander
Depends on: 1332036
https://hg.mozilla.org/mozilla-central/rev/2f86db66e8e4
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
You need to log in before you can comment on or make changes to this bug.