Mat*_*ato 10 wpf internet-explorer webbrowser-control winforms webgl
我正在尝试将Cesium嵌入到WinForms或WPF应用程序内的WebBrowser控件中(使用IE 11).作为测试我正在使用此链接:
http://cesiumjs.org/Cesium/Build/Apps/CesiumViewer/index.html?stats=true
它"有效",但比直接使用IE 11要慢得多.在IE 11中,一切都以60fps运行; 在具有WebBrowser控件的简单WPF或WinForms应用程序中,它以4-6 fps运行.我一直无法追查问题的原因.这是一个空白的窗体或WPF面板,其中WebBrowser控件设置为填充整个窗格.我无法想象没有透明度或其他问题.我注意到,在Visual Studio嵌入式浏览器中访问上述链接具有相同的效果.WebBrowser是否控制不是JIT JavaScript?这是一个WebGL问题吗?有没有办法我可以调试这个来弄清楚发生了什么?任何帮助将不胜感激.
Lui*_*lli 12
看看这篇文章:
事实证明,即使安装了较新版本的IE,嵌入式浏览器也会默认使用IE7渲染引擎.此外,GPU渲染已关闭,因此浏览器仅使用软件渲染.
通过设置以下功能控件注册表项来解决此问题:
- FEATURE_BROWSER_EMULATION - 设置为所需的IE渲染引擎版本
- FEATURE_GPU_RENDERING - 设置为1以启用GPU渲染.
对于使用嵌入式浏览器的特定程序(可执行文件名),可以在HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER下设置这些键.HKCU是首选,因为该计划不需要管理员权限写入HKCU.
因此,当我将FEATURE_BROWSER_EMULATION设置为10000(对于IE10)并将FEATURE_GPU_RENDERING设置为1时,性能提高到~5050 fps的~850 fishies.仍然不如1000+ fishies的独立IE好,但相当不错!