.NET混合开发解决方案24 WebView2对比CefSharp的超强优势
WebView2控件应用详解系列博客
.NET混合开发解决方案2 WebView2与Edge浏览器的区别
.NET混合开发解决方案5 WebView2运行时与分发应用
.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件
.NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件
.NET混合开发解决方案10 WebView2控件调用网页JS方法
.NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体
.NET混合开发解决方案13 自定义WebView2中的上下文菜单
.NET混合开发解决方案14 WebView2的基本身份验证
.NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明
.NET混合开发解决方案16 管理WebView2的用户数据
.NET混合开发解决方案17 清除WebView2的缓存记录
.NET混合开发解决方案18 调试WebView2应用
.NET混合开发解决方案19 使用 DevTools 协议帮助程序
.NET混合开发解决方案20 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用
.NET混合开发解决方案21 WebView2 应用的开发最佳做法
在本系列的前面多篇文章中介绍了WebView2从入门到集成的详细过程以及核心知识点。我为什么会写这么多篇博客来记录WebView2的使用历程,主要是在开发《建筑工程施工图BIM智能审查系统》过程中,勘察设计单位端与审查专家端(C/S架构 WinForm)的程序集成了Web端BIMFace的功能。第一次使用了CefSharp组件,集成开发结束后,测试及使用过程中遇到了一些无法处理的bug及严重的性能问题。然后又测试对比了其他多种组件,具体情况可以阅读我的博客《.NET桌面程序集成Web网页开发的十种解决方案》。最终选用了微软新出品的基于Edge浏览器的WebView2组件,经过测试及大量客户实际应用,可以直观的感受到WebView2组件的功能稳定性与其他强大、便捷之处。
下面通过多方位的对比WebView2与CefSharp组件,让大家有更直观的感受,抛砖引玉,希望对大家有所帮助。
如有表述不当,请大家及时指出。两者还有一些其他常用功能,这里无法详尽列出,大家可以在使用中再仔细对比。
其中第23项的现象如下
其中第24、25项的对比
- 使用CefSharp组件加载大体量BIM模型渲染失败的现象
- 使用WebView2组件加载大体量BIM模型渲染成功的现象
(1)CefSharp组件加载Web网页,BIMFACE轻量化后的模型加载到38%左右时,渲染失败,呈现黑色效果,客户端电脑的CPU跑满,内存消耗95%。在建筑工程施工图BIM智能审查应用场景中,BIM模型相对CAD、PDF来说,模型尺寸呈几何级增长,超大模型甚至达到10G,构件数量达到万级、三角片面数量达到百万甚至千万级。 同一台电脑,同一套程序,使用WebView2组件加载相同的大模型时一切正常,且CPU、内存均比使用CefSharp时使用率低。
(2)CefSharp加载大体量模型时,当内存消耗过高时,导致客户端程序闪退。 WebView2组件不存在该问题。
经过对比不难发现 Cefsharp 与 WebView2 组件的功能都非常丰富。客户端程序如果只是集成简单的网页应用,二者任选其一都可以,前提是客户端电脑的缩放比例必须是100%。如果是加载游戏、二维图纸、三维模型等复杂内容时,建议使用微软的WebView2组件,其性能与稳定性比CefSharp处理的更好。
最新文章
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【外传】——Attribute Routing
- Plugin with id 'com.android.application' not found.
- 六、Solr高亮与Field权重
- uboot的relocation原理具体分析
- Angular2.js——表单(下)
- java自定义注解知识实例及SSH框架下,拦截器中无法获得java注解属性值的问题
- linux下 ls -l 命令显示结果每一列代表什么意思
- CURL处理POST、GET请求
- [BZOJ1016] [JSOI2008] 最小生成树计数 (Kruskal)
- Spring Cloud 微服务架构的五脏六腑,统统晒一晒!
- kubeadm的安装步骤(HA)
- z-index使用及一定要加backgroun
- java.io.IOException: No space left on device 错误
- springmvc事务回滚失效
- Java实现可视化迷宫
- android assets与 assets与res/raw 的相同、不同点
- C# 的 Task、Thread、ThreadPool 之间有什么异同?
- vue错误提示 Cannot read property 'beforeRouteEnter' of undefined,刷新后跳到首页
- ubuntu下中文乱码解决
- 如何在SecureCRT中给linux上传和下载文件
热门文章
- css加载动画(纯css和html)
- Metalama简介3.自定义.NET项目中的代码分析
- 记一次docker安装成功,启动失败的原因
- 2021.11.30 eleveni的水省选题的记录
- 【GPLT】 集合相似度(c++)
- 最新Mysql大厂面试必会的34问题
- windows 安装 kalfka 并快速启动
- 超耐心地毯式分析,来试试这道看似简单但暗藏玄机的Promise顺序执行题
- 论文解读《Measuring and Relieving the Over-smoothing Problem for Graph NeuralNetworks from the Topological View》
- HMS Core分析服务助您掌握用户分层密码,实现整体收益提升