希望有一个小小的渲染引擎,比如Adobe裁剪过的WebKit只有 4~5M 大小,如果想裁剪,面对如此庞大的代码 应该如何入手?
或者说裁剪CEF也可以.
1
Archangel_SDY 2015-07-16 19:09:42 +08:00 via iPhone
先看一眼 Makefile 把没用的模块编译关掉。
|
2
sgissb1 2015-07-16 22:30:38 +08:00
你这样去做不如直接吧webkit拿过来裁剪。
而且现在chromium现在用的是自己的分支,叫做blink。chromium用到的开源库在thrid_party中,你可以看看。 进入blink时代以后,我就没有一次编译成功过代码(用vs2010,我自己改gclient的配置) |
3
sgissb1 2015-07-16 22:35:42 +08:00
如果要动blink的话,你可以直接用gclient把blink的代码拿下来,但能不能生成编译工程/配置,就不清楚了。
|
4
est 2015-07-16 22:42:12 +08:00
> 比如Adobe裁剪过的WebKit只有 4~5M 大小
Source? 我见过把CPython剪裁到300K的,winxp剪裁到90M的,Office三件套剪裁到30M的。超牛。。。。。。。。。。。 |
5
loading 2015-07-16 22:44:24 +08:00 via Android
何必呢…
|
6
secondwtq 2015-07-16 23:25:24 +08:00
@loading 某种程度上确实有必要,我前段时间一直断断续续在做一个工程,把 Apple 的 WebKit 版本库的某一版本快照撸下来然后自己做 client,用途是到游戏里面做 UI。
Apple 这个 WebCore 编译完之后有 50M(参见 OS X 中的 framework 大小),这个大小能顶两个游戏引擎了。并且源码中 GTK、EFL、iOS 等 port 对我来说并没有什么卵用,我希望尽可能去除或替换其中 platform-specific 的东西,并且收回其线程和事件循环的控制权。并且我也并不需要其中的一些冗余和实验性功能,但是却要保留 SVG、CSS3 等必要功能。 大小倒不是最主要的,其实对我来说与其想办法精简 WebKit,不如在 asset 的压缩上面多下功夫,但是它现在看上去真的不像是一个“轻量”“可嵌入”的东西。EA 之前做过类似的事情,但是有平台限制,并且是已经是好几年前的版本了,WebKit 一直在做重构,EA 的代码放到现在大概只有参考价值了。 |
7
secondwtq 2015-07-16 23:27:34 +08:00
另外我想问一下楼主 Chromium 的代码看着怎样?
我自从玩过 V8 发现文档蛋疼的一比代码也比较乱之后从此对 Google 的开源由粉转黑。 |
8
sunny001 OP @secondwtq 说的很好, 我现在编译通过了2272,之前也断断续续的看过, 正在着手看,EA的被封装后的 duiwebkit , 我也看到过,的确很小很好,但是因为好几年没更新,对现在的HTML5比较有限,或者是不支持,比如对mathjax的支持。
昨晚上看到一篇很好的文章: http://tech.uc.cn/?p=2763 非常感谢大家的热情回复。 |
9
sunny001 OP Chromium 太大了, CEF是从 content入手的,我想也从这开始,看些测试的例子,把渲染过程结合代码看一下!
希望能有所进展。 |
10
sunny001 OP 裁剪对我来说非常重要,我现在想做对EPUB3的支持,其实就是支持HTML5的支持,如果有个EPUB3的阅读器,包含CEF是太大了,我仅需要其渲染引擎,下载不拉不拉的的都可以去掉。
|
11
forexi 2015-07-17 11:08:36 +08:00
好些软件带的CEF都有30M+,要是能小到10M-,用来做UI多好呀~
|