我想将CEF嵌入到我的DirectX应用程序中。现在我想使用DirectX在显示的html页面中绘制Canvas元素。这个画布可能会被它上面的其他html元素遮挡,所以我不能只采用绝对Canvas坐标并在其上渲染,因为它也会渲染到我画布上的元素上。
我认为有两种可能性来解决这个问题:
我无法在文档或示例应用程序中找出这两种可能性中的任何一种。
所以我的问题是:CEF可以实现吗?如果是的话。
答案 0 :(得分:2)
CEF功能您正在寻找名为“屏幕外渲染”的功能,并在今年将其重命名为“无窗口渲染”。
刚才真正可用的(在稳定的1916分支中) - 它是由纯软件渲染器渲染到像素缓冲区。在此之后,您可以将像素缓冲区移动到曲面。请注意,软件渲染器不支持仅限gpu的加速内容。即像3D CSS变换之类的东西和一些动画将无法正常工作。但总的来说它运作正常。
您可以通过运行cefclient --off-screen-rendering-enabled
来测试此模式。
在CEF中继分支2042中 - 它被切换到新的呈现代码路径。一旦问题https://code.google.com/p/chromiumembedded/issues/detail?id=1006得到解决 - 您就可以直接渲染到表面。
希望这有帮助。