WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
58053
Investigate using surface sharing to speed up accelerated compositing in WebKit2 on Windows
https://bugs.webkit.org/show_bug.cgi?id=58053
Summary
Investigate using surface sharing to speed up accelerated compositing in WebK...
Adam Roben (:aroben)
Reported
2011-04-07 09:56:21 PDT
Accelerated compositing in WebKit2 on Windows currently reads every rendered frame back into system memory before sending it over to the UI process. This is quite inefficient. It would be much better if we could share a surface between the web and UI processes so that we wouldn't have to read each frame back into system memory.
Attachments
Add attachment
proposed patch, testcase, etc.
Adam Roben (:aroben)
Comment 1
2011-04-07 09:56:58 PDT
Direct3D9Ex and Direct3D10+ have support for surface sharing. See <
http://msdn.microsoft.com/en-us/library/ee913554(v=vs.85).aspx
>.
Adam Roben (:aroben)
Comment 2
2011-04-07 10:00:15 PDT
<
rdar://problem/9249836
>
Adam Roben (:aroben)
Comment 3
2012-07-05 20:24:13 PDT
(In reply to
comment #0
)
> Accelerated compositing in WebKit2 on Windows currently reads every rendered frame back into system memory before sending it over to the UI process. This is quite inefficient.
This is no longer accurate. There is no now readback into system memory. The web process creates an HWND and renders directly into it using Direct3D. It is possible that surface sharing would still provide some benefits. Having the web process create an HWND gives us a cross-process window hierarchy, which is susceptible to deadlocks due to synchronous window messages sent by Windows from the UI process to the web process. Maybe surface sharing would allow us to get rid of the cross-process window hierarchy, which might in turn allow us to simplify some of our code.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug