Bug 262380
| Summary: | RemoteDisplayListRecorder should lazily allocate a SharedVideoFrameReader | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> |
| Component: | WebKit Process Model | Assignee: | Simon Fraser (smfr) <simon.fraser> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | simon.fraser, webkit-bug-importer, youennf |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Local Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=258379 | ||
Simon Fraser (smfr)
Every RemoteDisplayListRecorder currently has a SharedVideoFrameReader by value. 99% of them will never use it. so it should be allocated lazily.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Simon Fraser (smfr)
There is some cost here to:
_kernelrpc_mach_port_mod_refs_trap
WTF::MachSendRight::MachSendRight(WTF::MachSendRight const&)
WebKit::SharedVideoFrameReader::SharedVideoFrameReader(WTF::RefPtr<WebKit::RemoteVideoFrameObjectHeap, WTF::RawPtrTraits<WebKit::RemoteVideoFrameObjectHeap>, WTF::DefaultRefDerefTraits<WebKit::RemoteVideoFrameObjectHeap>>&&, WebCore::ProcessIdentity const&, WebKit::SharedVideoFrameReader::UseIOSurfaceBufferPool)
WebKit::RemoteDisplayListRecorder::create(WebCore::ImageBuffer&, WTF::ObjectIdentifierGeneric<WebCore::RenderingResourceIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, WebKit::RemoteRenderingBackend&)
WebKit::RemoteRenderingBackend::didCreateImageBuffer(WTF::Ref<WebCore::ImageBuffer, WTF::RawPtrTraits<WebCore::ImageBuffer>>)
Simon Fraser (smfr)
I did the same on the other side of the connection in bug 258379.
Radar WebKit Bug Importer
<rdar://problem/116586176>
Simon Fraser (smfr)
Pull request: https://github.com/WebKit/WebKit/pull/20141
EWS
Committed 270404@main (34b59cbee757): <https://commits.webkit.org/270404@main>
Reviewed commits have been landed. Closing PR #20141 and removing active labels.