码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • .NET混合开发解决方案24 WebView2对比CefSharp的超强优势


    系列目录     【已更新最新开发文章,点击查看详细】

    WebView2控件应用详解系列博客

    .NET桌面程序集成Web网页开发的十种解决方案

    .NET混合开发解决方案1 WebView2简介

    .NET混合开发解决方案2 WebView2与Edge浏览器的区别

    .NET混合开发解决方案3 WebView2的进程模型

    .NET混合开发解决方案4 WebView2的线程模型

    .NET混合开发解决方案5 WebView2运行时与分发应用

    .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 

    .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件

    .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件

    .NET混合开发解决方案9 WebView2控件的导航事件

    .NET混合开发解决方案10 WebView2控件调用网页JS方法

    .NET混合开发解决方案11 网页JS调用C#方法

    .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应用

    • 使用 WebView2 DevTools 调试应用程序
    • 使用 Visual Studio Code 调试应用程序
    • 使用 Visual Studio 调试WebView2应用

    .NET混合开发解决方案19 使用 DevTools 协议帮助程序 

    .NET混合开发解决方案20 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用

    .NET混合开发解决方案21 WebView2 应用的开发最佳做法

    .NET混合开发解决方案22 开发安全的 WebView2 应用

    .NET混合开发解决方案23 将 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处理的更好。

    系列目录     【已更新最新开发文章,点击查看详细】
  • 相关阅读:
    C++中的内存管理
    虚拟摄像头之八: 从 Camera api2 角度看摄像头框架
    java基于springboot+vue的碳排放管理平台系统
    L958. 二叉树的完全性检验 java
    以爱情规律为例,浅谈三段式描述状态机
    html form表单高级用法
    用 Wireshark 让你看见 TCP 到底是什么样!
    Linux设备驱动之gpio-keys
    静态HTML网页设计作品 DIV布局家乡介绍网页模板代码---(太原 10页带本地存储登录注册 js表单校验)
    当添加一个键值对元素时,HashMap发生了什么?
  • 原文地址:https://www.cnblogs.com/SavionZhang/p/16417101.html
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号