Web开发

首页 » 常识 » 预防 » 微软再次出手又为全球第一大浏览器解决了
TUhjnbcbe - 2022/11/29 22:30:00

根据统计机构Statcounter的最新数据,截至年6月,Chrome在全球的市场份额为68.76%,Edge浏览器为8.1%。

这个结果并不令人意外:Chrome依然保持着“垄断者”的地位,Edge浏览器的势头还是不容小觑。

“如果不能击败他们,那就加入他们。”从某种程度上来说,微软将这句话贯彻得淋漓尽致。

年1月,在新版Chromium内核的Edge浏览器发布前,经典版Edge的市场份额仅为0.02%,存在感微乎其微。

而投奔Chromium阵营后的这一年多时间里,Edge的市场份额便一举超过了老牌的火狐Firefox,口碑也发生了翻天覆地的变化。

年1月,微软在其工程师招聘信息中表示,新版Edge浏览器用户数量已经达到惊人的六亿。

尽管放弃自家浏览器内核稍微有些遗憾,不过,从Edge浏览器越来越受欢迎这一点上,我们也可以看出,微软其实在开发浏览器这方面还是颇有水准的。

自从采用Chromium内核后,微软也一直在积极地参与开源项目的优化,为Chrome增加了不少实用的改进。

比如,在Edge中有一个选项可以加快浏览器的速度,但Chrome中没有,这促使微软有了帮助Chrome加入此功能的想法。

7月27日,据外媒WindowsLatest报道,谷歌Chrome浏览器将能够以更快的速度打开新标签页及其他页面,而这都离不开微软的帮助。

根据微软近期在Chromium代码提交中透露,他们正在为Chrome浏览器开发一项名为“代码缓存”的新功能。

该功能旨在提高Chrome内部网页在Windows、Linux、macOS和其他桌面平台上的加载速度。

简而言之,就是当用户在访问Chrome浏览器的内部页面(chrome://),例如打开新标签页时,该功能可以使用缓存来启用即时页面加载,达到打开速度更快的效果。

如今市面上大多数的桌面浏览器,都会在其内部WebUI页面上使用相当大的脚本。

而这些脚本又会通过浏览器的V8引擎加载和运行,用户每打开一次,它都会一遍又一遍地重复这项任务。

在微软看来,这样的机制等于是浪费了很多不必要的时间。

而在微软提供的新功能“代码缓存”帮助下,Chrome浏览器能序列化处理过的脚本,以便缓存它生成的信息。

这样一来,当这个脚本需要重新加载时,Chrome会将序列化的字节码发送给Blink,由Blink决定是加载之前生成的信息,还是从头开始重新处理脚本。

由此达到能够从Chrome缓存加载这些信息,而不是从头开始处理的效果。

微软称,开启此功能后,Edge和Chrome打开这些网页的时间应该都会减少11%到20%。

目前,这个新功能处于试验阶段,因此在所有版本的浏览器中默认禁用。

大家若想提前体验,可以打开浏览器的“属性”窗口(推荐最新的Canary版本浏览器),在“destination”部分添加如下参数就可以启用了。

--enable-features=WebUICodeCache

如果开启该功能后出现了问题,只需关闭浏览器,删除此参数并重新打开浏览器,即可恢复正常。

值得一提的是,这并非微软第一次出手解决Chrome的“历史遗留”问题。

多年来,Chrome因占用了大量设备RAM内存而饱受诟病,现在Edge也面临着同样的问题。

年6月,微软在Edge中启用了一项名为“SegmentHeap”的新功能,专门用来降低应用程序的RAM使用率。

不久后,“SegmentHeap”被引入Chromium开源项目,Chrome、Firefox等浏览器都先后接入这项新功能。

谷歌工程师称,谷歌也计划用这个功能来修复Chrome内存占用过高的问题。

只不过,戏剧化的是,谷歌工程师在测试中发现,启用“SegmentHeap”后,Chrome的内存占用确实下降了,但处理器资源始终保持在百分之百。

年11月,微软的工程师们还解决了Chromium浏览器在页面上滚动时产生滞后性的问题。

为了解决这个问题,微软与谷歌开发团队通力合作了长达数月,将经典版Edge的滚动特性引入到Chromium中,并启用对平滑滚动的支持。

当用户(尤其是平板电脑用户)在浏览长页面时,便可以减少载入延迟和滑动迟滞了。

伴随着Edge浏览器的加入,如今,市面上主流的浏览器几乎都成了Chromium内核的天下。

但一直以来,Chromium本身也存在许多待优化的问题。

据Edge官方所述,截至年11月,Edge团队的名工程师已经对Chromium开源项目做出了项

1
查看完整版本: 微软再次出手又为全球第一大浏览器解决了