彩票走势图

.NET浏览器集成组件DotNetBrowser v2.2上线!渲染功能升级

原创|产品更新|编辑:李显亮|2020-09-15 10:20:57.320|阅读 262 次

概述:DotNetBrowser全面升级至v2.2!改进了屏幕外渲染模式下的渲染性能,还原了允许禁用内部Chromium流量的功能,并扩展了管理数据和用户与浏览器交互的选项,欢迎下载体验。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

DotNetBrowser是一个.NET库,允许将基于Chromium的WPF和WinForms组件嵌入到.NET应用程序中,以显示使用HTML5,CSS3,JavaScript,Silverlight等构建的现代网页。

DotNetBrowser全面升级至v2.2!改进了屏幕外渲染模式下的渲染性能,还原了允许禁用内部Chromium流量的功能,并扩展了管理数据和用户与浏览器交互的选项,还没有使用过可以点击下方链接下载哦~

免费下载DotNetBrowser最新版


DotNetBrowser迎来v2.2版本更新,为了方便大家尽可能顺利过度新版本,我们特意准备了本指南将帮助您了解新版本都要哪些新增与改动。

新增

渲染效果

在所有受支持的平台和UI工具包上,屏幕外渲染性能均得到了改善。以下是在不同平台上以每秒帧数(FPS)的HTML5视频进行渲染性能测试的结果:

  • 带有集成视频的Intel Core i5 8400H 2.5 GHz Intel UHD Graphics 630。视频尺寸:1920x1080
  • 带有GPU NVIDIA GeForce MX150的Intel Core i7 7700HQ 2.8 GHz。视频尺寸:1920x1080

Chromium

现在可以节省不必要的流量,例如Google Cloud Messaging,翻译排名,扩展程序更新程序,安全浏览等Chromium服务。这些服务与DotNetBrowser当前不支持的功能有关。可以按照以下步骤完成:

EngineOptions engineOptions = new EngineOptions.Builder
{
    GoogleTrafficDisabled = true
}.Build();

禁用PDF查看器

现在,可以选择是在PDF查看器中显示PDF文档还是下载它们。默认情况下,它们将显示在PDF Viewer中。以下是切换到下载PDF的方法:

Engine.Plugins.Settings.PdfViewerEnabled = false;

清除HTTP缓存

更好地控制内存使用情况。现在,可以将存储在磁盘和内存中的所有HTTP高速缓存条目标记为删除。

重要说明:该IHttpCache.ClearDiskCache()方法被标记为“ 过时”,并将在下一版本中删除。请改用该IHttpCache.Clear()方法。

超滚动历史记录导航

DotNetBrowser现在允许在带有触摸屏的设备上向左/向右滑动来向后/向前导航。默认情况下,过度滚动导航处于禁用状态。可以如下启用它:

Browser.Settings.OverscrollHistoryNavigationEnabled = true;

重点DOM元素

现在可以在文档中获取当前关注的DOM元素。这是一个示例:

IElement focusedElement = Browser.MainFrame.Document.FocusedElement;

IPC消息顺序

在以前的版本中,调用任何处理程序时,可以更改IPC消息顺序。例如,当网页上的文本字段包含随机混合的字母时,在调用处理程序时提高键盘事件方法可能会导致问题。

在此版本中,改进了内部IPC逻辑以消除此类情况。这一改进对如何处理处理程序中的代码提出了一项重要要求。如果您执行某些逻辑,从而在处理程序内部的单独线程中对库进行同步调用,并阻塞处理程序,直到逻辑执行完毕,您可能会遇到死锁。例如:

// Register a handler.
browser.SomeHandler = new Handler(p => 
{
    // Invoke some logic in a separate thread and block the current
    // thread execution until the logic has been executed.
    InvokeInSeparateThreadAndWait(() => 
    {
        // Invoke a synchronousmethod.
        browser.SomeSyncMethod(); // <-- Deadlock: this method will never return. }); return Response.Proceed(); });

要摆脱可能的死锁,请改用以下方法:

// Register a handler.
browser.SomeHandler = new Handler(p => 
{
    // Invoke a blocking method.
    browser.SomeSyncMethod();
    return Response.Proceed();
});

改善

在以前的版本中,相同的用户数据目录用于所有IEngine未指定自定义用户数据目录的实例。此目录通常包含以前保存的数据,例如代理设置,Cookie,缓存等。

在此版本中,每次IEngine创建实例时都会创建一个单独的临时用户数据目录,而无需指定自定义用户数据目录。在处置IEngine实例期间,此目录会自动删除。

修复

  • 覆盖的HTTP标头导致“ 400 Bad Request”错误。
  • 该ArgumentException移动与子窗体时错误BrowserView实例开出主的WinForms的形式使用硬件加速渲染模式。
  • 迁移到Chromium 79后,SpellChecker功能不起作用。
  • BrowserView在WinForms应用程序中使用硬件加速的呈现模式时,第二个实例不显示网页。
  • 从XPathResult获取DOM节点导致挂起。
  • IKeyTypedEventArgs.VirtualKey使用硬件加速渲染模式时,值错误。
  • 在NullReferenceException当MIME类型不OnHeadersReceived回调设置错误。
  • 弹出窗口未正确关闭。

如果你对我们的产品感兴趣,想咨询正版授权折扣价格,请联系咨询~


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP