V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunny001
V2EX  ›  程序员

Chromium 裁剪入门

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

    希望有一个小小的渲染引擎,比如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   ·   实用小工具   ·   2862 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:04 · PVG 15:04 · LAX 23:04 · JFK 02:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.