RESOLVED FIXED224781
GPUConnectionToWebProcess::CreateRenderingBackend IPC should be asynchronous
https://bugs.webkit.org/show_bug.cgi?id=224781
Summary GPUConnectionToWebProcess::CreateRenderingBackend IPC should be asynchronous
Chris Dumez
Reported 2021-04-19 13:32:37 PDT
GPUConnectionToWebProcess::CreateRenderingBackend IPC should be asynchronous. We had to make it synchronous as a temporary workaround for Bug 224778. We need to find the underlying cause of Bug 224778 and make the IPC async again.
Attachments
Chris Dumez
Comment 1 2021-04-19 14:11:30 PDT
When running MotionMark's Canvas-Arcs, in the success case, I see RemoteRenderingBackend::didCreateSharedDisplayListHandle() getting called at least 4 times. However, in the failure case, it seems RemoteRenderingBackend::didCreateSharedDisplayListHandle() is only called once. In both failure and success cases, I see many calls to RemoteRenderingBackend::wakeUpAndApplyDisplayList() and the initialization stage (GPUConnectionToWebProcess::createRenderingBackend & RemoteRenderingBackend::createImageBuffer) looks the same.
Chris Dumez
Comment 2 2021-04-19 14:19:16 PDT
(In reply to Chris Dumez from comment #1) > When running MotionMark's Canvas-Arcs, in the success case, I see > RemoteRenderingBackend::didCreateSharedDisplayListHandle() getting called at > least 4 times. However, in the failure case, it seems > RemoteRenderingBackend::didCreateSharedDisplayListHandle() is only called > once. > > In both failure and success cases, I see many calls to > RemoteRenderingBackend::wakeUpAndApplyDisplayList() and the initialization > stage (GPUConnectionToWebProcess::createRenderingBackend & > RemoteRenderingBackend::createImageBuffer) looks the same. Note that I haven't been able to reproduce on macOS. On iOS with iPad, it is flaky but fairly easily reproducible.
Chris Dumez
Comment 3 2021-04-20 07:52:22 PDT
Ling Ho
Comment 4 2021-04-23 02:49:34 PDT
Note You need to log in before you can comment on or make changes to this bug.