在寻找有关Cef / CefSharp的WPF性能的讨论时,我偶然发现了新的(我认为最新的更新为71.0)CefSharp API - OnAcceleratedPaint
我是否正确理解WPF的功能,Cef首先呈现HTML“屏幕外”,然后从此处借助Direct3D9创建WPF窗口元素?
编辑/更新的问题 现在Cef是否提供使用D3D10 / 11渲染整个HTML的机会?还是这个新方法只打算渲染例如视频元素。
当前唯一的例子是shown in this example,它在非托管代码中使用d3d11。
看看这些参考文献,似乎可以将D3D10 / 11与WPF Direct3D 10/11 & Direct2D in WPF一起使用,在这里与Introduction to D3DImage一起使用
在第一个引用的链接中,我看到WPF的答案是
那么我们如何将D3D10 / 11和D2D渲染到WPF中而没有空域问题?我们只有一个支持Direct3D9的D3DImage类。 WPF团队的优秀人员告诉我,IDirect3DDevice9Ex是在Vista / 7中与D3DImage一起使用的推荐设备,它支持在设备之间共享资源(如果需要,还可以共享进程)。我们可以在Direct3D10 / 11上创建共享的渲染目标,然后通过中间IDirect3DDevice9Ex设备将其拉入。无需复制!我们将这些资源放入9Ex,然后可以将其发送到D3DImage以进行高性能渲染。
无论如何将this thread here与the discussion here结合使用,当前版本仍然无法正常工作,对于使用CefSharp的用户,我们应该等待Cef(上游)首先解决问题。
amaitland在线程中到底是什么意思?
Chrome
的更改将中断OnAcceleratedPaint
的新版本CEF