• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sunny001
V2EX  ›  程序员

Chromium 裁剪入门

  •  
  •   sunny001 · Jul 16, 2015 · 8347 views
    This topic created in 3978 days ago, the information mentioned may be changed or developed.

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

    或者说裁剪CEF也可以.

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

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

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

    Source?

    我见过把CPython剪裁到300K的,winxp剪裁到90M的,Office三件套剪裁到30M的。超牛。。。。。。。。。。。
    loading
        5
    loading  
       Jul 16, 2015 via Android
    何必呢…
    secondwtq
        6
    secondwtq  
       Jul 16, 2015
    @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  
       Jul 16, 2015
    另外我想问一下楼主 Chromium 的代码看着怎样?

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

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

    非常感谢大家的热情回复。
    sunny001
        9
    sunny001  
    OP
       Jul 17, 2015
    Chromium 太大了, CEF是从 content入手的,我想也从这开始,看些测试的例子,把渲染过程结合代码看一下!
    希望能有所进展。
    sunny001
        10
    sunny001  
    OP
       Jul 17, 2015
    裁剪对我来说非常重要,我现在想做对EPUB3的支持,其实就是支持HTML5的支持,如果有个EPUB3的阅读器,包含CEF是太大了,我仅需要其渲染引擎,下载不拉不拉的的都可以去掉。
    forexi
        11
    forexi  
       Jul 17, 2015
    好些软件带的CEF都有30M+,要是能小到10M-,用来做UI多好呀~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1295 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 17:24 · PVG 01:24 · LAX 10:24 · JFK 13:24
    ♥ Do have faith in what you're doing.