Thorium浏览器:把浏览器做成"高定西装"的Chromium深度优化分支
【免费下载链接】thoriumChromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, links are towards the top of the README.md.项目地址: https://gitcode.com/GitHub_Trending/th/thorium
Thorium浏览器是一个基于Chromium的开源项目(源码与Linux发行版仓库),它不改代码路线,只做"量体裁衣":用ThinLTO、PGO等编译期优化,SSE3/SSE4/AVX2等SIMD指令集定制版本,以及禁用FLOC、默认开启Do-Not-Track的隐私补丁,让同一份Chromium源码跑得更快、更安静。适合对浏览器速度有要求、又想了解编译级优化是怎么落地的人。
Thorium浏览器默认界面:保留经典Chromium布局,优化全部发生在编译与补丁层。
🪡 为什么值得关注
如果上游Chromium是一件成衣,谁都能穿,但肩线、袖长、腰围都是"标准尺码";Thorium就是裁缝。面料还是同一份Chromium源码,却按客户的"体型"重做——这里的体型指CPU支持的指令集。同一份代码用不同SIMD级别编译,跑出来性能差距肉眼可见,这就是定制与成衣的区别。
定制不等于另起炉灶。Thorium的行为与功能集对齐Google Chrome,每次上游Chromium出新版本,维护者都会把整套补丁rebase跟上;它兼容,但不是功能堆砌——加进去的隐私、编解码、界面补丁大多取自Debian、Bromite、Ungoogled Chromium、Iridium等项目,补丁逐条登记在 补丁清单 里,来源可查。
🧵 核心技术拆解
一片裁到全身的版型:ThinLTO + PGO
现象是用户能感知的:启动更快、复杂页面滚动更顺。原理在 根目录args.gn:LTO让编译器以"整件衣服"的视野消除函数之间的冗余动作,ThinLTO用并行分析把内存与时间成本压下来;PGO更进一步,给编译器一份真实运行的画像(chrome_pgo_phase = 2配合version.sh下载的.profdata),热点路径被"熨"得最平整。
一句话总结:LTO是裁缝的版型,PGO是"试穿后再熨一遍",两者共同让定制西装比成衣更合身。
# 仓库根目录 args.gn 关键行 use_thin_lto = true # 跨模块链接时优化 chrome_pgo_phase = 2 # PGO 仪器化编译 pgo_data_path = "…chrome-linux-…profdata" is_cfi = true # 控制流完整性 v8_enable_wasm_simd256_revec = true一套面料一种身材:SIMD定制版本
现象:同一个Release里出现SSE3/SSE4/AVX2等多个变体。原理:SIMD指令只向前兼容——支持AVX的CPU能跑SSE3版,反过来不行,硬跑会直接崩溃,所以Thorium按指令集分别编译。仓库用 check_simd.sh 直接告诉你CPU支持到哪一级,变体间的差异就是几个开关:
other/ ├── AVX2/ │ ├── AVX2_args.gn │ └── win_AVX2_args.gn ├── AVX512/ │ ├── AVX512_args.gn │ └── win_AVX512_args.gn ├── SSE2/ │ └── args_SSE2.gn └── SSE3/ SSE4.1/ SSE4.2/类比:买西装先量体,选错面料就像穿上大一码——不合身。按 版本选择指南,2011年后CPU可用AVX版、2016年后主流桌面CPU可用AVX2版,AVX-512版面向2023年后的新CPU。一句话总结:对多数现代桌面CPU,AVX2版本是默认最优解,老机器才向下选档。
AVX2是Thorium浏览器官方发布的SIMD定制版本之一,文件名即版本号前缀。
拆掉吊牌和内衬:隐私与跟踪削减
现象:默认状态即开启Do-Not-Track,FLOC与"隐私沙盒"被禁用,地址栏显示含尾斜杠的完整URL,各类推广横幅消失。原理:这不是改开关,而是补丁级修改——补丁清单中可见GPC补丁、预取行为调整等条目,配合infra/下的初始偏好文件在出厂时写死默认值。类比:成衣的吊牌和内衬是出厂就缝好的,裁缝交衣前替你拆掉——外观不变,"多余的线头"没了。
技术洞察:这套补丁的意义在于把"主动退出跟踪"的动作从用户侧移到了编译侧,用户不再需要记得去做。
🎒 上手路径
游客:免安装试用
场景:在公共电脑上尝鲜,不装任何东西。仓库 infra/portable/ 提供了便携版打包脚本(Linux/Windows),下载解压即可运行,配置与数据全部落在同目录的USER_DATA文件夹里,U盘整包带走。
# Linux便携版:在解压目录直接执行包装脚本 ./THORIUM-SHELL.sh预期效果:全功能启动,无安装、无系统配置残留。
日常主力:装一次用一年
场景:想替换主力浏览器。Linux装deb包(README提供deb仓库可自动更新),跨发行版用Flatpak:
flatpak install flathub com.alex313031.thorium桌面启动器右键自带"安全模式"(忽略所有chrome://flags)与"深色模式"两个入口;想体验2024风格新UI就开启chrome://flags/#thorium-2024,经典UI仍是默认。
Thorium浏览器界面风格由chrome://flags控制,默认经典、可切换新UI。
深度定制者:自己编译
场景:要打补丁,或要特定指令集版本。要求8GB以上内存(推荐16GB)、75GB以上磁盘,并先备好depot_tools与chromium源码,细节见 构建指南。核心步骤:
git clone https://gitcode.com/GitHub_Trending/th/thorium cd thorium ./trunk.sh # 同步上游Chromium到对应修订版 ./version.sh # 检出Chromium版本并下载PGO画像 ./setup.sh # 把文件与补丁拷贝到位 gn args out/thorium # 粘贴根目录args.gn内容 ./build.sh 8 # 编译,8为并行任务数预期效果:得到完全贴合本机配置的Thorium,附带chrome_sandbox、chromedriver与thorium_shell调试壳。
🧭 进阶与选型
CPU支持什么?(跑 check_simd.sh 查看) ├── AVX2(2016年后主流桌面)→ AVX2版,综合最优 ├── 仅SSE4 / SSE3 → SSE4或SSE3版 ├── 更老CPU(SSE2) → 32位SSE2版 └── Apple Silicon / 树莓派 / Android → 对应ARM构建 场景叠加: ├── 公共电脑临时用 → 便携版 ├── 日常主力 → deb / Flatpak └── 想自己打补丁 → 源码编译批量部署:Thorium沿用Chromium策略机制,可通过企业策略或统一命令行参数下发配置,仓库other/目录里的fix-policy-templates.patch修复了策略模板问题;给全团队统一行为时,固定版本号再分发统一启动参数即可。
🌱 生态与参与
定位:Chromium分支家族里,多数项目做"减法"(去遥测、去Google服务),Thorium做"加法"(加优化、加编解码、加界面功能),且是少数按SIMD级别维护整条定制发行线的项目。补丁与Bromite、Ungoogled Chromium、Debian、Iridium等社区双向流动;维护者同时维护Raspberry Pi、Android与ChromiumOS(ThoriumOS)构建,属于跨平台项目。
未来方向:
- 跟进每个Chromium LTS版本并rebase整套补丁(维护者的主要日常)
- 扩展媒体能力:JPEG-XL、HEVC、杜比视界等开关已在args.gn就位
- 扩充ARM与遗留平台构建(树莓派、Android、旧版Windows)
- 打包生态:便携版、Flatpak、Arch AUR脚本集中在infra/
参与路径:Issue报告性能或兼容问题 → 参考other/目录里几十个现有.patch的格式开发补丁 → 用infra/DEBUG的调试构建配置验证修复 → 提交PR。REBASING.md明确欢迎对rebase工作流提出改进PR。
收束
成衣适合大多数人,定制才是真正合身——前提是你知道自己"体型"是什么。对技术决策者,Thorium的价值在于这条路径完全可验证:每个优化对应一段args.gn,每个补丁对应一行登记。下一步很简单:跑一遍check_simd.sh,看看你的CPU能织出哪种面料,再从上面的决策树里拿走对应的那件。
【免费下载链接】thoriumChromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, links are towards the top of the README.md.项目地址: https://gitcode.com/GitHub_Trending/th/thorium
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考