Chromium 裁剪入门 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成内容
sunny001
V2EX    程序员

Chromium 裁剪入门

  •  
  •   sunny001 2015-07-16 17:11:56 +08:00 7971 次点击
    这是一个创建于 3769 天前的主题,其中的信息可能已经有所发展或是发生改变。

    希望有一个小小的渲染引擎,比如Adobe裁剪过的WebKit只有 4~5M 大小,如果想裁剪,面对如此庞大的代码 应该如何入手?

    或者说裁剪CEF也可以.

    11 条回复    2015-07-17 11:08:36 +08:00
    Archangel_SDY
        1
    Archangel_SDY  
       2015-07-16 19:09:42 +08:00 via iPhone
    先看一眼 Makefile 把没用的模块编译关掉。
    sgissb1
        2
    sgissb1  
       2015-07-16 22:30:38 +08:00
    你这样去做不如直接吧webkit拿过来裁剪。

    而且现在chromium现在用的是自己的分支,叫做blink。chromium用到的开源库在thrid_party中,你可以看看。

    进入blink时代以后,我就没有一次编译成功过代码(用vs2010,我自己改gclient的配置)
    sgissb1
        3
    sgissb1  
       2015-07-16 22:35:42 +08:00
    如果要动blink的话,你可以直接用gclient把blink的代码拿下来,但能不能生成编译工程/配置,就不清楚了。
    est
        4
    est  
       2015-07-16 22:42:12 +08:00
    > 比如Adobe裁剪过的WebKit只有 4~5M 大小

    Source?

    我见过把CPython剪裁到300K的,winxp剪裁到90M的,Office三件套剪裁到30M的。超牛。。。。。。。。。。。
    loading
        5
    loading  
       2015-07-16 22:44:24 +08:00 via Android
    何必呢…
    secondwtq
        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 的代码放到现在大概只有参考价值了。
    secondwtq
        7
    secondwtq  
       2015-07-16 23:27:34 +08:00
    另外我想问一下楼主 Chromium 的代码看着怎样?

    我自从玩过 V8 发现文档蛋疼的一比代码也比较乱之后从此对 Google 的开源由粉转黑。
    sunny001
        8
    sunny001  
    OP
       2015-07-17 08:53:33 +08:00
    @secondwtq 说的很好, 我现在编译通过了2272,之前也断断续续的看过, 正在着手看,EA的被封装后的 duiwebkit , 我也看到过,的确很小很好,但是因为好几年没更新,对现在的HTML5比较有限,或者是不支持,比如对mathjax的支持。
    昨晚上看到一篇很好的文章:

    http://tech.uc.cn/?p=2763

    非常感谢大家的热情回复。
    sunny001
        9
    sunny001  
    OP
       2015-07-17 08:55:25 +08:00
    Chromium 太大了, CEF是从 content入手的,我想也从这开始,看些测试的例子,把渲染过程结合代码看一下!
    希望能有所进展。
    sunny001
        10
    sunny001  
    OP
       2015-07-17 08:59:07 +08:00
    裁剪对我来说非常重要,我现在想做对EPUB3的支持,其实就是支持HTML5的支持,如果有个EPUB3的阅读器,包含CEF是太大了,我仅需要其渲染引擎,下载不拉不拉的的都可以去掉。
    forexi
        11
    forexi  
       2015-07-17 11:08:36 +08:00
    好些软件带的CEF都有30M+,要是能小到10M-,用来做UI多好呀~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2637 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 09:46 PVG 17:46 LAX 01:46 JFK 04:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86