我正在尝试将铯嵌入WinForms或WPF应用程序中的WinForms控件中(使用IE11)。作为一个测试,我使用这个链接:
http://cesiumjs.org/Cesium/Build/Apps/CesiumViewer/index.html?stats=true
它“工作”,但比直接使用IE 11要慢得多。在IE11中,一切都运行在60 fps;在一个简单的WPF或WinForms应用程序与WebBrowser控件,它运行在4-6 fps。我一直找不到问题的原因。这是一个空白窗体或WPF面板,其中设置了WebBrowser控件以填充整个窗格。没有我能想象到的透明度或其他问题。我注意到,在浏览器中访问上面的链接具有相同的效果。WebBrowser控制的不是JIT JavaScript吗?这是一个WebGL问题吗?有什么方法可以调试这个来找出到底发生了什么吗?任何帮助都将不胜感激。
发布于 2014-07-31 15:57:59
看看这个文章
事实证明,嵌入式浏览器默认使用IE7呈现引擎,即使安装了较新版本的IE。此外,GPU呈现被关闭,因此浏览器只使用软件渲染。 这是通过设置以下特征控制注册表项来修正的:
这些键可以在HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER下为使用嵌入式浏览器的特定程序(可执行程序名称)设置。由于程序不需要管理员特权才能写信给HKCU,所以更倾向于HKCU。
因此,当我将FEATURE_BROWSER_EMULATION设置为10000 (对于IE10),并将FEATURE_GPU_RENDERING设置为1时,性能提高到~850 fishies @ 60 fps。仍然不如独立的IE与其1000+裂变,但相当的改进!
发布于 2014-12-03 11:59:01
您需要更改这两个reg键,以使其对所有用户都有效。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
对于单个用户,只需使用
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
按照下面的链接,添加DWORD确保将值设置为11999,而不是11001,并且应该将其设置为IE11标准模式。尽管它评论说使用无效值会将其设置为最新值,所以将其设置为99999可能适用于下一个版本。
http://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version
https://stackoverflow.com/questions/25051072
复制相似问题