故事的开始
那天我刚刚开发好的桌面壁纸发现webkit浏览器内核虽然小
但是网页支持非常差于是我走访了一圈
整理了一堆浏览器内核
Cef
全民Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Mac平台。除了提供C/C++接口外,也有其他语言的移植版.
貌似在upupoo动态程序中使用到了cef,但是目前不能确定。
1.cef缺点和优点很明显
2.cef会一下使整个程序暴增体积
3.cef 性能 支持和兼容性比肩完整Chrome
当然Chrome性能也就这样,cef带来这么多好处的同时,会消耗大量cpu资源和内存。
于是我第一个放弃了cef作为多媒体内容展示
![243e34e44dec48a2b2891992d5884c9e.png](https://i-blog.csdnimg.cn/blog_migrate/8f619f94ff0a5194c1eb03dc892fef04.jpeg)
这代码一上 我用户追着我打
Miniblink内核
miniblink内核是源于webkit 从chromium抽出写的一份低内存占用 高性能的内核
![b346e89b09d9303a216cd1136a853e3d.png](https://i-blog.csdnimg.cn/blog_migrate/2cef3d1575dd875a2999eeed8fd99f47.jpeg)
听说非常适合内嵌的一个浏览器框架
但是免费版抽出了大部分多媒体支持
在html5测试中稍微低于了cef,性能是比较一般的,同时对其它支持还需要付费,而且开发起来并不符合我的风格,但是我还是勉强决定试一试
webkit
这个内核上篇文章已经讲到了,对现代浏览器特性支持已经非常掉队了,当时唯一优点就是体积小占用少
我开始选用的这款框架 但是体验真的不是很好 但是对于低性能 低内存可以说还是非常美好的
Geocko
这个浏览器内核就是Firefox使用的内核,
![99c4a6acff52d92cd4aaa5697db25cf9.png](https://i-blog.csdnimg.cn/blog_migrate/cde40a479f6a3e8739d3fd62a40f02f7.png)
协议是mpl协议 而谷歌内核是BSD协议
所以在某些方面也是比较难受的
这个内核的特点很明显就是不同于刚刚介绍的内核是chrome衍生出来的,而是全新的内核,没测试,仅仅观摩,速度还是很不错的,实际内嵌看起来不怎么合适。
内嵌IE内核(Trident内核)
这个想法是纯属翻车了 最近微软已经把edge内核换了 但是如果 想跑跑 内置的IE11以上的内核对html5支持也是不错的 也无需任何支持 和 依赖
但是video标签不能对部分视频的兼容
说起来国内浏览器所谓兼容模式就是这个
极速模式就是谷歌内核
其它内核
很久以前欧朋浏览器的Presto内核之类的
考虑
最好我在项目中选择miniblink和webkit 双内核兼容
由于视频播放用浏览器这个想法占用cpu太大资源了于是我又引入了aplayer视频引擎
Aplayer
APlayer 媒体播放引擎是迅雷公司从 2009 年开始开发的通用音视频媒体文件播放内核。
不是因为什么 太懒了 支持多格式(浏览器内核的video支持不是很好 flash根本没了)和硬解码 在硬解码情况下一下子cpu就舒服了
最后
我东拼西凑写了动态壁纸 2.0 虽然bug未解决完,当性能和兼容性比1.0已经好了很多 目前仍未解决动态壁纸不能插入问题
看来下一个版本又是推翻代码重写核心部分(哭 )
不过一想到自己以后关于浏览器的内核了解一下子加这么多 说话的底气突然又有了