cztomczak / cefpython

Python bindings for the Chromium Embedded Framework (CEF)
Other
3.08k stars 473 forks source link

Support rendering to a hardware GL/D3D texture/surface provided by the client #477

Open cztomczak opened 6 years ago

cztomczak commented 6 years ago

Currently only Windows (D3D11) is supported in upstream CEF (master v71+ as of this writing).

Run upstream cefclient with these flags:

cefclient --off-screen-rendering-enabled --shared-texture-enabled
(optional) --external-begin-frame-enabled --off-screen-frame-rate=60

New off-screen-rendering APIs available in upstream CEF:

When --shared-texture-enabled flag is passed then the --disable-gpu and --disable-gpu-compositing flags should not be applied anymore.

There is one known issue with shared textures and PDF rendering currently, https://bitbucket.org/chromiumembedded/cef/issues/2516/windows-osr-pdf-viewer-does-not-render

Related issue and commits in upstream:

cztomczak commented 5 years ago

Current CEF master disabled this feature temporarily due to upstream Chromium API changes.