Closed Bug 1481991 Opened Last year Closed Last year

Reduce WebRenderBridgeParent::FlushSceneBuilds() usage

Categories

(Core :: Graphics: WebRender, enhancement, P3)

enhancement

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: sotaro, Assigned: sotaro)

References

(Blocks 1 open bug)

Details

(Whiteboard: [gfx-noted])

Attachments

(1 file)

The FlushSceneBuilds() does sync ipc with SceneBuilder thread. It is nice if we could reduce sync ipc.
Assignee: nobody → sotaro.ikeda.g
Depends on: 1467765
No longer depends on: 1467765
See Also: → 1467765
Depends on: 1481995
How often/when does this happen?
Flags: needinfo?(sotaro.ikeda.g)
Priority: -- → P3
(In reply to Jeff Muizelaar [:jrmuizel] from comment #1)
> How often/when does this happen?

FlushSceneBuilds() is called in the following situations.

-[1] WebRenderBridgeParent::FlushRendering()
  + When widget invalidation is necessary.
    https://dxr.mozilla.org/mozilla-central/source/view/nsViewManager.cpp#351
-[2] WebRenderBridgeParent::ClearResources()
  + when Tab is closed.
  + When new window is cread by tab move.
-[3] WebRenderBridgeParent::RecvGetSnapshot()
  + This does not happen in normal browsing use case.
  + This happen during testing.
-[4] WebRenderBridgeParent::RecvSyncWithCompositor()
  + Triggered by PersistentBufferProviderShared when it needs many TextureClients.
  + This does not happen in normal use case.

Frequency of [1] seems different between platforms. On linux and on windows, [1] was called during resizing windows. On mac, [1] was called more often(like Tab move within window).
With attachment 9004747 [details] [diff] [review], I checked the waiting duration. The duration seemed to depend on content page complexity. I saw 10ms-30ms during resizing window on https://www.yahoo.co.jp/.

But during https://ci.chromium.org/p/chromium/builders case, the duration was 100ms - 200ms.
Flags: needinfo?(sotaro.ikeda.g)
Whiteboard: [gfx-noted]
It is already partially done by Bug 1479912.
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.