Closed Bug 1418571 Opened 7 years ago Closed 7 years ago

SwapChain->Present is called with sync on WebRender + ANGLE

Categories

(Core :: Graphics: WebRender, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla59
Tracking Status
firefox57 --- unaffected
firefox58 --- unaffected
firefox59 --- fixed

People

(Reporter: sotaro, Assigned: sotaro)

References

Details

(Whiteboard: [wr-mvp])

Attachments

(1 file, 1 obsolete file)

SwapChain->Present is called with sync on WebRender + ANGLE. But MLGSwapChainD3D11::Present() and CompositorD3D11::Present() call SwapChain->Present is called without sync. It seems better to call SwapChain->Present without sync from performance point of view. I quickly tested the "without sync", fps became better and more stable at http://learningwebgl.com/lessons/lesson03/index.html on Lenovo P50(Win).
Assignee: nobody → sotaro.ikeda.g
Whiteboard: [wr-mvp] [triage]
Attached patch patch - Set SwapInterval to 0 with ANGLE (obsolete) (deleted) — Splinter Review
Whiteboard: [wr-mvp] [triage] → [wr-mvp]
Status: NEW → ASSIGNED
Priority: P2 → P1
Attachment #8929958 - Flags: review?(jgilbert)
Comment on attachment 8929958 [details] [diff] [review] patch - Set SwapInterval to 0 with ANGLE Review of attachment 8929958 [details] [diff] [review]: ----------------------------------------------------------------- It's worth noting that this would only allow for screen tearing with EGL_RENDER_BUFFER=EGL_SINGLE_BUFFER. ::: gfx/gl/GLContextProviderEGL.cpp @@ +217,5 @@ > > gl->MakeCurrent(); > gl->SetIsDoubleBuffered(doubleBuffered); > + if (aWebRender && sEGLLibrary.IsANGLE()) { > + sEGLLibrary.fSwapInterval(EGL_DISPLAY(), 0); MOZ_ASSERT(doubleBuffered); We really don't want to set this to zero if our EGLSurface is single-buffered. (GLES nominally doesn't support EGL_RENDER_BUFFER=EGL_SINGLE_BUFFER, and ANGLE is GLES)
Attachment #8929958 - Flags: review?(jgilbert) → review+
Attachment #8929958 - Attachment is obsolete: true
Attachment #8931532 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: