首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web在ChromiumFX中呈现两次

Web在ChromiumFX中呈现两次
EN

Stack Overflow用户
提问于 2016-02-16 00:58:41
回答 1查看 752关注 0票数 2

我使用ChromiumFX在WPF应用程序中呈现一些WPF内容。但是,内容似乎被呈现了两倍,如下面的截图所示。越大的一个是预期的大小,它的功能正确,而较小的一个不响应任何鼠标操作。较小的一张只是一张静态的图片。

注意,我们已经在Win8 7/Win8 8/Win8 10上测试了不同屏幕大小和分辨率的x86/x64机器上的完全相同的应用程序。除了Surface 3/4 + Win10之外,一切都很好。它还工作在Surface 1+ Win8上。

我猜Chromium内核正在使用本地Windows来呈现场景背后的内容。因此,与Surface硬件、OS和Chromium内核可能存在一些不兼容的问题。但老实说,我不知道该从哪里开始研究。你们能给我个提示吗?提前感谢!

详细版本信息:

  • WPF -> 4.0
  • ChromiumFX -> 3.2526.1
  • CEF -> 3.2526.1359.ged449a
  • 铬-> 47.0.2526.73
  • OS -> Win10 65位
  • HW ->曲面Pro 3/4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-05 03:19:11

2016-7-11最新情况

经过进一步的测试,原来的解决方案似乎不是最好的。如果另一个监视器连接到PC并将应用程序窗口移到那里,则再次发生此问题。

因此,最终的解决方案应该是将app.manifest添加到应用程序中,并启用dpiAware属性。

代码语言:javascript
复制
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
  <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>

终于成功了。所以我会给出答案,以防有人遇到同样的问题。

实际上,这个问题不仅发生在Win10 + Surface中。使用win10的所有设备都会出现这种情况。一旦用户更改了默认DPI设置,就会出现问题。

该领域中的应用程序的解决方法是为您的应用程序使用禁用高dpi设置上的显示缩放

为了一劳永逸地解决这个问题,您可能需要在安装过程中为应用程序添加一个注册表项,如下所示:

代码语言:javascript
复制
Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"

<RegistryValue Type="string" Name="APPLICATIONROOTDIRECTORY]ApplicationName.exe" Value="~ HIGHDPIAWARE" />

注意,如果您使用分离的进程来呈现,请将上述值设置为CfxSettings.BrowserSubprocessPath的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35421852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档