
做浏览器选型这件事我每年至少认真过一遍。原因很现实我手上要维护一批前端项目的兼容性测试机、几台不同年代的办公本还有家里人那台装了就再也没重装过系统的老台式机。每年榜单出来我都会挑几台机器按榜单装一遍然后用一个月的时间看它到底撑不撑得住。2026年这轮折腾下来最直观的结论有点反直觉PC浏览器排行里排第一的那款我在自己主力机上装了又卸了两次最后留下的反而是榜单上排在三四位的选手。这不是榜单造假而是榜单的评测口径和我这台机器的真实工况根本不是一回事。所以这篇不打算给你复述一份排行榜那种东西你随手一搜就有十份。我要写的是三个我认为最值钱的选购经验以及它们背后那套可以自己复现的验证方法。适合三类人看一是要给团队统一装机的二是手上机器配置参差不齐的三是单纯受够了装完很流畅、用两周就卡成幻灯片这种循环的普通用户。全文不涉及任何账号注册技巧和特殊网络设置只聊产品本身的能力边界。1. 榜单每年翻新踩坑姿势却没什么变化1.1 市面上四类排行实际在排什么先把排行这个词拆开。你在搜索框里能刷到的PC浏览器排行本质上分四类评测口径完全不一样混着看必然得出错误结论。第一类是市场份额榜。数据来源通常是页面埋点、应用商店下载量或者第三方统计机构的样本。它反映的是装机量不是好用程度。一款浏览器预装在系统里用户半年没点开过它也照样计入份额。这类榜单唯一的价值是告诉你哪些站点的兼容性测试会以谁为基准——做前端的人都懂兼容性优先级跟着份额走不是跟着你的喜好走。第二类是跑分性能榜。用 JavaScript 综合基准Speedometer、JetStream 这一类算出个总分排名。问题在于这些基准测的是短时爆发性能跑完三十秒就结束了跟开三十个标签挂一整天完全是两码事。而且不同内核的优化重点不一样有的擅长密集计算有的擅长首屏渲染总分一平均个体差异全被抹平。第三类是用户满意度榜。这类榜单的样本偏差最严重。愿意去填问卷的人通常是特别满意的和特别愤怒的两拨中间那批沉默的大多数根本不参与。所以你会看到某款产品满意度常年第一但实际用起来毛病一堆——因为它的用户基数小吐槽的人还没积累起来。第四类是更新与安全响应榜。这个反而是四类里最值得看的但几乎没人关注。它统计的是版本迭代节奏、安全公告的发布频率和修复周期。对普通用户来说这一项决定了你会不会某天突然被一个已知问题卡住半个月。我自己现在的习惯是装任何一款浏览器之前先去它的版本发布页翻最近十二个月的更新记录看看是月更还是季更大版本之间有没有长期支持通道。提示把四类榜单混在一起看最容易犯的错是拿份额榜的结果去解释性能榜的差异然后得出用的人多所以快这种结论。这两件事之间没有因果关系。1.2 为什么第一名到你这台机器上就失灵了三年下来我发现榜单第一到我这不好用这件事原因基本集中在三个地方而且都不是产品本身的锅。第一个是硬件代差。榜单的测试机基本是近两年的中高配内存十六吉起步固态硬盘随便读写。而真实世界里还大量存在八吉内存、机械硬盘、四代低压处理器的办公机。这类机器上多进程架构带来的内存开销会被放大得非常明显——测试机上多占三百兆毫无感觉八吉机器上多占三百兆可能就是开第五个标签开始换页的分水岭。第二个是使用密度。榜单测的是空载或者轻载而很多人的真实状态是二十个常驻标签、三四个内容过滤扩展、两个翻译扩展、一个密码管理扩展、一个截图扩展再挂一个后台常开的在线文档。这种负载下真正决定体验的不是峰值性能而是内存回收策略和扩展的资源占用。这两个指标在任何排行榜上都不会单独列出来。第三个是数据积累。这一点最容易被忽略。一款浏览器你刚装上的第一周是最快的因为配置库是空的、历史记录是空的、缓存是空的。用了三个月之后书签几千条、历史几万条、扩展配置一堆、自动填充数据一大堆启动和搜索的响应速度会实打实地掉下来。榜单永远测的是第一周的状态。所以我的做法是把榜单当成候选池不当成答案。从榜单里挑出前五名然后在自己的真实机器上跑一遍我下面要讲的这套流程最后选出来的往往不是第一名。去年我最终留下的那款在某个知名性能榜上排第六。2. 选购经验一内核先定外壳后挑2.1 三大内核在2026年的能力边界这条经验是我吃过最大的一次亏之后总结出来的。早些年我选浏览器看的是界面顺不顺眼、书签栏好不好用结果用了半年发现某个内部系统死活打不开换了另一款立刻正常——那时候我才意识到我换的其实是外壳内核压根没变或者说我以为变了其实没变。目前PC端主流浏览器基本跑在三套渲染内核上Chromium 系Blink 渲染引擎 V8 脚本引擎、Gecko 系Quantum 架构 SpiderMonkey 引擎、WebKit 系JavaScriptCore 引擎。三者的差异在2026年这个时间点上已经不是谁快谁慢的问题而是能力边界的问题。Chromium 系的优势是标准跟进最快、新特性落地最早、扩展接口最完整。代价是资源占用相对豪放多进程铺得很开。Gecko 系的优势在于对老硬件的内存压缩做得比较激进长时间挂机之后的内存曲线相对平缓缺点是部分国内站点的兼容性偶发问题更多一点扩展生态的丰富度也差一截。WebKit 系在桌面端的存在感逐年下降但在某些特定场景比如需要和移动端保持渲染一致性里仍然有价值。我把这三套内核的差异整理成下面这张表你可以直接对着自己的需求看维度Chromium 系Gecko 系WebKit 系新标准落地速度最快中等偏慢空载内存占用偏高中等偏低长时间挂机内存曲线需要看具体回收策略相对平缓波动较大扩展生态丰富度最丰富中等偏少老机器适配一般较好一般企业内网兼容性最好偶发问题较差注意这张表是趋势判断不是绝对结论。同一套内核下不同发行版本的表现差异有时候比跨内核的差异还大。2.2 外壳层能改的和改不了的很多人纠结这两款浏览器到底有什么不同其实答案很简单同内核的产品差异全部在外壳层。外壳层能改的东西包括标签页的排列方式横向、纵向、分组、侧边栏的形态、启动页的布局、快捷键映射、鼠标手势、阅读模式的排版参数、内存节省策略的触发阈值、扩展的权限管理粒度。这些东西对日常手感的影响极大但它们不会改变页面的渲染结果。外壳层改不了的东西包括某个 CSS 特性怎么渲染、某个音视频编码支不支持硬解、某个 Web API 有没有实现、扩展能用哪些权限。这些全部由内核决定。你在同内核的两款产品之间来回切换指望解决某个页面显示错位的问题是纯纯的浪费时间。我踩过最典型的一次坑某个在线表格工具里复制粘贴带格式的单元格会丢样式。我换了三款同内核的浏览器全都一样。后来才想明白这是内核里剪贴板权限模型的问题跟外壳没关系。解决方案只有一个换内核或者用不带格式粘贴再手动调。搞清楚这一点之后我排查类似问题的效率提升了不止一倍。2.3 三步确认你装的是哪套内核附脚本判断内核归属有三条路从粗到细。最粗的一条看进程名和任务管理器。Chromium 系必然是一堆子进程且有一个主进程统管Gecko 系是少量内容进程加一个父进程两者的进程拓扑结构差异很明显。这个方法只能看出大类看不出具体分支。中等精度看用户代理字符串。按 F12 打开开发者工具在控制台敲navigator.userAgentChromium 系的标识里会同时包含Chrome/和一个额外的品牌标识段Gecko 系会包含Firefox/和Gecko/WebKit 系会包含AppleWebKit/且不带Chrome/。这里要注意一个历史遗留问题大量浏览器的 UA 里都带着AppleWebKit和Safari那是为了兼容老站点做的伪装看到这两个词不代表它是 WebKit 内核。最准的一条跑一遍特性探测。我写了一段脚本直接检测几个有代表性的 API 是否存在比 UA 靠谱得多因为 UA 可以随便改API 骗不了人// 内核特性探测把结果复制到自己的笔记里存档 const probes { // 存储与调度相关 storageBuckets: storageBuckets in navigator, schedulerPostTask: typeof scheduler ! undefined postTask in scheduler, // 渲染与合成相关 viewTransitions: startViewTransition in document, cssContainerQueries: CSS.supports(container-type, inline-size), // 网络能力 compressionStream: typeof CompressionStream ! undefined, // 图形能力 webgpu: gpu in navigator, webgl2: (() { try { return !!document.createElement(canvas).getContext(webgl2); } catch (e) { return false; } })(), }; console.table(probes); console.log(UA:, navigator.userAgent); console.log(硬件并发数:, navigator.hardwareConcurrency); console.log(设备内存(GB仅部分内核支持):, navigator.deviceMemory ?? 未暴露);跑完之后把结果存到笔记里。下次换浏览器时再跑一遍对比两张表你就知道到底是内核升级带来的能力变化还是外壳换皮。这个习惯帮我避免了好几次无效迁移——有两次我以为换了新东西结果探测结果一模一样白折腾。3. 选购经验二内存数字会撒谎要看回收曲线3.1 任务管理器里那个数字到底统计了什么这条经验是三个里面最实用的也是最容易被误读的。打开系统任务管理器你会看到某款浏览器的内存占用写着一千二百兆。很多人据此判断它太重了。但这个数字的统计口径在不同产品之间根本不可比。现代浏览器都是多进程架构主进程负责界面和调度、渲染进程负责页面、GPU 进程负责合成、还有网络进程、存储进程、扩展进程。任务管理器里那一行有的产品把所有子进程合并汇总有的只算主进程有的把共享内存重复计算。也就是说A 产品显示 800 兆、B 产品显示 1200 兆很可能 A 实际用了 1500 兆而 B 只用了 900 兆。光看这一行数字做判断跟蒙眼猜差不多。更关键的是占用高不等于体验差。浏览器把内存用起来做缓存本身是好事能减少重复渲染和磁盘读取。真正影响体验的是另外两件事一是它愿不愿意把不用的内存还回去也就是回收策略二是在物理内存吃紧时它的反应有多体面是丢帧、是卡顿还是静默丢弃后台标签。我现在评估一台机器上的浏览器看的是三条曲线的形状不是单个数字观测项怎么看说明什么空载基线开一个空白页静置五分钟反映基础开销决定老机器的下限负载爬升每开五个标签采样一次反映单标签成本斜率越平越好长时间平台期挂机八小时每十分钟采样反映回收能力曲线走平说明会还内存关闭后残留全部关闭后等两分钟再采样残留越多说明后台驻留进程越顽固3.2 我那套可复现的压测流程下面这套流程我在五台不同配置的机器上跑过重复性不错普通用户完全能自己复制。第一步固定环境。同一台机器、同一个网络、同一个电源模式一定要插电别用电池模式测关掉所有无关软件。这一步不做后面所有数据都是废的。第二步测冷启动和热启动。冷启动指的是系统刚开机后第一次打开浏览器这个数字方差很大建议测三次取中位数。热启动是全部窗口关闭后十秒内再打开测五次取中位数。这两个数字能直接反映日常点开那一瞬间的手感。测的时候要用秒表或者录屏逐帧看别用体感体感误差能到一倍以上。第三步开标签压测。准备一组固定的测试页面——我一般用三个图文长页面、两个视频站首页、一个在线文档、一个后台管理系统、一个地图页面。按顺序打开每开五个采样一次内存。开到五十个为止中途不要关。Linux 下我直接用一段 shell 采样# 把 yourbrowser 换成实际的进程名前缀 PREFIXyourbrowser for i in $(seq 1 60); do RSS$(ps -eo rss,comm | grep ^ *[0-9]* ${PREFIX} | awk {sum$1} END {print sum0}) echo $(date %H:%M:%S) $((RSS/1024)) MB sleep 60 doneWindows 下用 PowerShell等效写法# 同样把 yourbrowser 换成实际的进程名前缀 $procPrefix yourbrowser 1..60 | ForEach-Object { $procs Get-Process -Name $procPrefix* -ErrorAction SilentlyContinue $mb if ($procs) { [math]::Round((($procs | Measure-Object WorkingSet64 -Sum).Sum)/1MB, 1) } else { 0 } {0} {1} MB ({2} 个进程) -f (Get-Date -Format HH:mm:ss), $mb, $procs.Count Start-Sleep -Seconds 60 }跑完之后你会得到一条时间序列。看曲线的斜率不看绝对值。八小时之内曲线缓慢抬升然后走平说明回收正常如果一路线性往上爬那就是有东西在漏通常是某个扩展或者是某个页面的定时器没清。第四步关闭后残留观测。全部窗口关掉等两分钟再采一次。理想状态是接近零如果还剩几百兆而且一直不降说明有后台进程常驻。这个残留对八吉内存的机器影响很大因为它意味着你关了也没真正释放。第五步扩展对照实验。禁用全部扩展重复第三步对比两条曲线。我做过统计我自己的日常扩展组合会让内存曲线整体上移百分之三十到四十其中贡献最大的是常驻型的内容处理扩展。这个数据不测不知道一测就会想删扩展。3.3 硬件加速老机器上最容易做反的一个开关这件事我在不同机器上得到过完全相反的结论值得单独说。硬件加速的核心是把页面的合成、视频解码、部分绘制工作交给显卡。在中高配机器上开着它几乎总是更好滚动更顺、视频更省电、CPU 占用更低。但在老机器上尤其是集成显卡年代较久、显卡驱动长期没更新过的机器上开着它反而可能带来花屏、视频绿屏、滚动撕裂甚至整个界面周期性卡顿。我遇到过一台老办公本开着硬件加速看视频风扇转得像要起飞CPU 占用却只有百分之十几——因为解码工作压在显卡上显卡在软件回退路径里绕圈。关掉之后CPU 占用升到百分之四十但风扇安静了视频也不卡了。这个现象在驱动老旧的机器上不算罕见。判断方法很简单做个对照实验就行同一个视频页面、同一个滚动长页面分别开关硬件加速各测十分钟记录 CPU 占用、风扇噪音体感即可、有没有视觉异常。别信任何必须开或者必须关的教条机器不一样结论就是不一样。提示开关这个选项之后一定要完全退出浏览器再重开很多产品改完这个设置不会热生效你以为测的是关掉之后的效果其实还是老的。4. 选购经验三迁移成本才是真正的长期账单4.1 数据搬家清单按这个顺序做不会丢东西前两条讲的是怎么选这条讲的是选了之后跑不跑得掉。这是我见过最多人后悔的地方——装的时候图新鲜用了两年想换发现搬不动最后被锁死在一个自己并不满意的产品上。迁移要按固定顺序做顺序错了会重复劳动甚至丢数据。我的清单是这样的第一优先书签。所有主流产品都支持导出成标准的 HTML 书签文件这个格式是通用交换格式谁都认。导出之后先别急着导入新浏览器先在本机留一份备份命名带上日期。书签是最不该丢的东西因为它是你几年攒下来的信息索引重建成本极高。第二优先密码与自动填充。这一步要特别小心。绝大多数产品支持导出为纯文本表格但导出的文件是明文的一定要在导入完成后立刻彻底删除别留在下载文件夹里。更稳妥的做法是用系统级的密码管理方案做中转浏览器只作为调用方。我自己的做法是浏览器里不存长期密码只保留一次性登录的临时状态。第三优先扩展清单。别指望一键迁移。我建议的做法是在老浏览器里打开扩展管理页把已启用的扩展名和用途逐条抄到笔记里只抄我每周真的会用到的那些。我上次迁移时列了二十三个扩展最后新环境只装了六个剩下十七个删掉之后我一次都没想起来用过。第四优先配置细节。主页、启动时打开的页面、下载目录、默认搜索引擎、字体大小、缩放比例、快捷键。这些东西零零碎碎但少了任何一个都会让你在接下来两周里反复别扭。建议在迁移时截图保存设置页面新环境装好后对着图一项项核对。最后历史记录。这个可选。历史记录的价值主要在找回上周看过的那个页面如果老浏览器还要留着过渡一段时间可以不迁。真要迁的话导出成 HTML 再导入即可但注意数据量大的时候导入会很慢。4.2 扩展生态的锁定效应比想象中更硬这一条是这两年变化最大的地方也是我认为2026年选浏览器时最该重视的隐性成本。扩展平台的规则在收紧这是大趋势。具体表现是一部分高权限的扩展接口被替换成了声明式的规则接口常驻后台的扩展被要求改成事件驱动模型。对用户来说直接的感受是——某些你依赖了很多年的扩展某次更新之后能力变弱了或者干脆下架了。我在一台机器上就遇到过这个情况一个用了很久的页面样式调整扩展更新之后对新版页面不再生效作者也没再维护。这不是谁对谁错的问题是生态演进的自然结果。但它带来的现实问题是你在这个生态里积累的扩展组合是有保质期的。所以我现在的选型逻辑加了一条看这款产品的扩展平台是不是还在活跃演进。判断方法很土但有效——去扩展商店看最近三个月的新增和更新数量看头部扩展的最后更新日期。如果头部扩展大面积停在一年前说明这个生态在萎缩你迁进去就是接盘。反过来说如果你的核心依赖是那几个能力被收紧的扩展那你可能需要考虑哪些需求可以用内置功能替代。比如阅读模式、标签分组、截图、翻译现在的浏览器内置能力已经覆盖了大部分曾经的扩展场景。少装一个扩展长期看就是少一个未来的迁移负担。4.3 干脆别二选一多浏览器分工方案折腾了几年之后我最终的方案是不选唯一按用途分工。主力机上是三款并存各自的职责很清楚日常主力用来处理百分之八十的事情要求是扩展生态好、开发者工具顺手、同步稳定。兼容性验证装另一套内核的专门用来跑前端项目和打开那些只在某个内核下正常的内部系统。平时不开需要时开。纯净环境不装任何扩展、不登录任何账号专门用来做那些需要干净环境的操作比如测试页面实际加载性能、验证某个 CSS 效果、排查是不是扩展搞的鬼。这个组合的好处是任何一个环节出问题我都能在十分钟内定位到是内核问题、扩展问题还是数据问题。坏处是要多花一点心思管理账号和书签的同步关系。我的做法是书签只在一个地方维护定期导出 HTML 分发到其他浏览器密码完全不依赖浏览器同步。注意多浏览器并存的时候一定给每个浏览器设一个完全不同的用户数据目录别用默认路径互覆盖。有些产品安装时会问要不要导入另一个浏览器的数据选否不然两边数据会搅在一起。5. 按角色对号入座五类用户的配置建议5.1 对照表与优先级权重抽象地讲哪个好没有意义得看你是谁。我把常见的使用角色分成五类给每类一个权重分配。权重是我自己拍的经验值你可以按自己的实际情况调但思路可以照搬先明确你最不能忍的是什么再倒推该看哪个指标。使用角色首要指标次要指标可以妥协的建议内核方向普通办公文档流稳定性、长期挂机曲线启动速度峰值跑分任一优先选更新节奏稳的前端/测试岗位标准跟进速度、开发者工具多环境并存能力内存占用Chromium 系为主另配一套做对照多账号运营会话隔离、标签管理扩展生态单标签性能Chromium 系老机器用户空载内存、回收能力硬件加速兼容性新特性支持Gecko 系优先试内容阅读为主阅读模式、字体渲染内存占用扩展数量任一重点试阅读模式5.2 低配机器和老系统的特殊处理八吉内存以下的机器选型逻辑和主流建议几乎是反的。这类机器的瓶颈不在 CPU在内存和磁盘 IO。所以优先级排序要变成空载内存 回收能力 标签上限策略 启动速度 一切其他。具体到操作层面有几件事值得做开启标签休眠或者内存节省模式。现在主流产品都有类似机制把长时间不看的标签挂起释放它占的内存。开启之后二十个标签的机器可能相当于只开了八个。这个功能对老机器的体感提升非常明显代价是切回休眠标签时要重新加载会有半秒左右的白屏。限制内容进程数量。部分产品提供了限制渲染进程数之类的选项把并行渲染的进程数压下来用一点性能换内存。老机器上这个交换是划算的。把缓存目录挪到固态盘上。如果系统盘是固态、数据盘是机械一定要确认缓存目录在固态上。这个设置对页面加载速度的影响比换浏览器大得多。关掉所有预加载类的功能。有些产品会预读你可能的下一步页面这在快机器上是优点在老机器上是纯负担会持续占用内存和带宽。5.3 开发与测试岗位的额外要求如果你是做前端或者测试的选型时还要多看三样东西。一是开发者工具的完整度。网络面板能不能方便地看请求瀑布、能不能导出 HAR性能面板能不能录长时间的火焰图内存面板能不能做堆快照对比。这些能力决定了你排查问题的效率比跑分重要得多。二是多版本并存能力。你需要同时装着稳定版、测试版甚至某个特定的长期支持版本用来复现用户说的那个版本才有的问题。选型时要确认这些通道能不能共存安装、用户数据目录会不会打架。三是设备模拟和网络限速的精度。这两项直接影响你能不能在没有真机的情况下验证移动端体验。限速要能精确到具体的上下行速率和延迟模拟要能改分辨率、像素比、触摸事件、UA。这些能力各家差异挺大建议实际点一遍再决定。6. 装好只是开始长期维护的清单6.1 扩展膨胀是性能下降的头号元凶用了三个月的浏览器变慢九成情况下不是浏览器本身变慢了是扩展变多了。我做过一次统计一台机器上装了十二个扩展其中六个是装了一次再也没点开过的。这六个扩展每个都在后台跑着内容脚本每个都在往每个打开的页面里注入东西。你打开一个页面实际上触发了十二次注入检查。这个开销在单个页面上看不出来但在二十个标签、八小时工作时间里累积起来相当可观。我的做法是每季度做一次扩展大扫除流程很简单打开扩展管理页把每个扩展的问自己三个问题——过去七天我用过它吗它的功能能不能用内置功能替代关掉它会不会影响我打开任何常用页面三个问题里有两个答案是否就禁用不是卸载先禁用观察两周。这个流程执行下来我的扩展数量从十二个降到五个启动速度肉眼可见地快了内存曲线也平了不少。而且我一次都没因为删掉某个扩展而耽误事。6.2 配置文件损坏什么时候修、什么时候重装浏览器用久了会出现一些奇怪症状书签栏空白、设置改不了、启动就崩、扩展列表加载不出来。这些大概率是配置文件损坏不一定需要重装。判断和处理的顺序是这样的第一步先试安全模式。绝大多数产品都有一个禁用所有扩展启动的开关通常在帮助菜单或者按住某个修饰键启动。如果安全模式下一切正常那就是扩展问题逐个禁用排查即可不用动配置文件。第二步试新建用户配置文件。如果安全模式下仍然异常说明是配置文件本身坏了。这时候不要急着删旧的先新建一个配置文件看新配置下是否正常。正常的话说明可以从旧配置里把书签、密码这些数据导出来再迁到新配置里其余设置重来一遍。第三步才考虑彻底重装。重装之前务必确认两件事书签已经导出成 HTML、密码已经用可靠方式备份。这两样东西丢了是真找不回来的。提示如果你开了账号同步重装之后数据会自动回来但同步回来的可能包含那些导致问题的扩展和设置。所以重装之后建议先别急着登录同步观察一天再说。6.3 更新通道怎么选最后一个经验关于更新。绝大多数用户用的是稳定通道自动更新这没问题。但有两类场景要注意。一类是办公和生产环境。如果你的机器上跑着关键业务系统突然来一次大版本更新有可能把某个依赖特定接口的功能搞挂。这种场景建议用长期支持通道如果产品提供或者至少把自动更新改成提示后手动更新给自己留一个可以推迟的缓冲期。我自己在一台跑内部系统的机器上就是这么设的每次更新前先在另一台机器上试一天。另一类是想尝鲜的用户。测试通道确实能提前用到新特性但要有心理准备数据可能不稳定某些扩展可能不兼容偶尔会有版本把配置搞乱。我的建议是测试通道装在独立的用户配置文件里跟日常环境完全隔离别共用数据。至于多久检查一次更新比较合适我的做法是每周固定一天看一眼版本号顺手把这周的扩展更新也过一遍。花不了五分钟但能避免很多突然就不对劲了的情况。最后分享一个我这两年养成的小习惯每次换浏览器或者大改配置之后我都会在笔记里记一行——日期、改了什么、当时为什么改、一周后体感如何。这个记录看起来没什么用但每次再想折腾的时候翻一翻会发现有一半的新想法其实一年前试过并且放弃了理由写得清清楚楚。省下来的时间比任何优化都值钱。