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)
Core
Graphics: WebRender
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)
(deleted),
patch
|
sotaro
:
review+
|
Details | Diff | Splinter Review |
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 | ||
Updated•7 years ago
|
Assignee: nobody → sotaro.ikeda.g
Assignee | ||
Updated•7 years ago
|
Blocks: stage-wr-nightly
Updated•7 years ago
|
Whiteboard: [wr-mvp] [triage]
Assignee | ||
Comment 1•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Whiteboard: [wr-mvp] [triage] → [wr-mvp]
Updated•7 years ago
|
Status: NEW → ASSIGNED
Priority: P2 → P1
Assignee | ||
Updated•7 years ago
|
Attachment #8929958 -
Flags: review?(jgilbert)
Comment 2•7 years ago
|
||
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+
Assignee | ||
Comment 3•7 years ago
|
||
Attachment #8929958 -
Attachment is obsolete: true
Attachment #8931532 -
Flags: review+
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/bb6ea78f779e
Set SwapInterval to 0 with ANGLE r=jgilbert
Comment 5•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
You need to log in
before you can comment on or make changes to this bug.
Description
•