单线多拨插件安装_用 Libcef 和 Webview2 替换 miniblink:3+1多内核实现

本文介绍了如何在应用程序中使用Libcef替换Miniblink,以提升浏览器控件的性能,并探讨了动态切换到Edge Webview2的可能性。通过这种方式,实现了单线多拨插件的多内核支持,提升了用户体验。
摘要由CSDN通过智能技术生成

之前有幸刷到过 “Miniblink背后的故事,第一反应,这么厉害?有事耽搁了,过些时间看了看他的开源仓库,结果变成闭源了……

不过作者发布的两个dll现在都能用:

  • miniblink_x64.dll:免费版,37MB,wke实现。
  • mb.dll:定制版,2MB,基于上面的dll给出一个定制的实现。

免费版是单线程的,做UI不知如何,当浏览器控件使用却是不够用的,会比较卡。定制版有所改善,不过大概因为内核版本落后,流畅度仍然比不上Libcef。

于是萌生了这样的想法:用 Libcef 替换 miniblink。注意是替换不是取代,可能这两个词没啥区别,但我的意思是,在一个应用程序中兼纳多种浏览器控件,而不是只选择其中一个、而放弃其他的方案。

miniblink 体积较小,将其随应用打包、作为默认的浏览器控件,压缩后仅10MB。Libcef体积较大,让用户按需下载,然后动态(运行时)切换浏览器内核。

Libcef是臃肿,足足178MB,但是性能优秀,内存、CPU占用都不大。

还可以兼容尚未正式发布的 Edge Webview2,须下载安装 Edge insider 试用。

多图警告!

……


e390d82a46c568ce430290e888a26ded.gif

从 Miniblink-mb 切换至 Chromium-Embeded。明显感觉滚动更流畅了。


8dcc0d0d7f0c96c9cd6d4775ee2d407e.gif

切换至Webview2,这个控件的自带功能比Libcef更全,但加载(初始化和页面刷新)最慢。


6aeb4ce79b528adb1c1daf2aa42c6eba.gif

一不做二不休,干脆将Markdown渲染库也做成可以动态切换的。默认是 md.html,编译成单文件main.js,1MB。可选替代 MDViewer,改自 Chrome 插件 Markdown Preview Plus,分散文件、比 md.html 大一些、支持更多格式,类似于 csdn 的编辑器,不过 csdn 集成得更全面。

“将Libcef打造为win32控件”系列:

一:初识Libcef

二:初次封装,拿到浏览器HWND

三:资源拦截替换、JS调用C++ Native、首次运用

题外话 兼容微软Webview2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值