<input id="ohw05"></input>
  • <table id="ohw05"><menu id="ohw05"></menu></table>
  • <var id="ohw05"></var>
  • <code id="ohw05"><cite id="ohw05"></cite></code>
    <label id="ohw05"></label>
    <var id="ohw05"></var>
  • .NET混合開發解決方案24 WebView2對比CefSharp的超強優勢

    WebView2控件應用詳解系列博客

    .NET桌面程序集成Web網頁開發的十種解決方案

    .NET混合開發解決方案1 WebView2簡介

    .NET混合開發解決方案2 WebView2與Edge瀏覽器的區別

    .NET混合開發解決方案3 WebView2的進程模型

    .NET混合開發解決方案4 WebView2的線程模型

    .NET混合開發解決方案5 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應用

    .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的功能。BIMFACE在瀏覽器端渲染時使用了Html5、Css3、WebGL等技術,其中WebGL技術用到了客戶端電腦的GPU,以增加圖形處理與渲染性能與效率。

      第一次使用了CefSharp組件,集成開發結束后,測試及使用過程中遇到了一些無法處理的bug及嚴重的性能問題。然后又測試對比了其他多種組件,具體情況可以閱讀我的博客《.NET桌面程序集成Web網頁開發的十種解決方案》。最終選用了微軟新出品的基于Edge瀏覽器的WebView2組件,經過測試及大量客戶實際應用,可以直觀的感受到WebView2組件的功能穩定性與其他強大、便捷之處。

    下面通過多方位的對比WebView2與CefSharp組件,讓大家有更直觀的感受,拋磚引玉,希望對大家有所幫助。

    如有表述不當,請大家及時指出。兩者還有一些其他常用功能,這里無法詳盡列出,大家可以在使用中再仔細對比。

    為減少開發人員的負擔:微軟已向 Windows 10 消費者提供 Microsoft Edge WebView2 運行時。

    從 Windows 11 開始,WebView2 運行時作為操作系統的一部分包含在內。

    對于 Windows 10,我們建議開發人員隨其應用程序一起分發和安裝運行時。在過去的兩年中,由于開發人員構建和分發 WebView2 應用程序,現在有超過 4 億臺設備擁有 WebView2 運行時。 可再發行運行時部署允許開發人員在尚未具備運行時的設備上使用 WebView2,但會增加開發成本,并且一直是 WebView2 開發人員的痛點。一旦我們完成了今天開始的 WebView2 運行時部署,開發人員可以更可靠地依賴于 Windows 10 或更高版本的消費者設備以及所有 Windows 11 設備上存在的 WebView2,從而使 WebView2 應用程序部署更加簡單。

    具體參考微軟博客:https://blogs.windows.com/msedgedev/2022/06/27/delivering-the-microsoft-edge-webview2-runtime-to-windows-10-consumers/

    其中第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處理的更好。

    posted @ 2022-06-28 10:39  張傳寧  閱讀(2116)  評論(27編輯  收藏  舉報
    頁腳 HTML 代碼
    国产美女a做受大片观看