fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-29
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
阅读:1902回复:6

[Nightly] Firefox 55.0a 提升 e10s 下标签页的关闭速度

楼主#
更多 发布于:2017-05-09 16:46
原来 Firefox 在 e10s 多进程模式下关闭标签页的时候常常会显示一个大菊花然后消失,尤其是在关闭最后一个标签页的时候。

原因是 e10s 下,关闭一个标签页时,父进程会发送消息给子进程检查一个名为 beforeunload 的事件句柄,这个事件就是在某些网页关闭时候,浏览器会提示你确认是否关闭还是停留的对话框,如下图。

图片:Image 1.png




父进程会停留等待子进程回复此消息决定是否关闭,超过 5 秒未恢复视作同意关闭,则父进程关闭此标签页。在一些情况下,子进程是在主线程上运行,所以只需在父进程等待消息,所以这时候关闭标签页就很快,关闭标签页的时候,beforeunload 事件就会被移除,因为都在父进程中通信。但有时候,主线程被占用或拥塞,无法及时处理。这就有可能造成关闭延迟。

Firefox 55.0a 着重改善了 e10s 下标签页的关闭速度,它是所在子进程运行的标签页,如果 beforeunload 事件有添加到该标签页,则告诉父进程并标记这个标签页关闭时候需要移除事件。到时候一旦移除该事件,则取消标记。如果没有添加事件则无需标记。

那关闭标签页的时候,有了标记,父进程马上就可以知道是否需要发送消息给子进程来确认是否需要处理 beforeunload 事件句柄。如果没有标记,就可以直接关闭无需等待确认,从而大大提升了关闭标签页的速度。



具体技术介绍文章参见:Making tabs close faster in multi-process Firefox




https://bugzilla.mozilla.org/show_bug.cgi?id=1336763

最新喜欢:

yfdyh000yfdyh0...
Firefox More than meets your experience
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
1楼#
发布于:2017-05-09 18:16
好大的补丁 不好移植  感觉53关闭标签页比52速度慢了呢
http://pcxfirefox.wordpress.com/
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-29
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
2楼#
发布于:2017-05-09 18:32
pcxfirefox:好大的补丁 不好移植  感觉53关闭标签页比52速度慢了呢回到原帖
我用nightly 比以前关闭标签页转菊花 快了很多 基本看不到菊花
Firefox More than meets your experience
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
3楼#
发布于:2017-05-10 09:00
fang5566:我用nightly 比以前关闭标签页转菊花 快了很多 基本看不到菊花回到原帖
我暂时还没开e10s 所以都是在关闭e10s的情况下使用的
http://pcxfirefox.wordpress.com/
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-29
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
4楼#
发布于:2017-05-10 09:19
pcxfirefox:我暂时还没开e10s 所以都是在关闭e10s的情况下使用的回到原帖
没开e10s是感受不到这个补丁带来的关闭速度提升。
Firefox More than meets your experience
infinity
狐狸大王
狐狸大王
  • UID48261
  • 注册日期2014-12-18
  • 最后登录2023-03-15
  • 发帖数352
  • 经验350枚
  • 威望0点
  • 贡献值96点
  • 好评度34点
  • 社区居民
  • 忠实会员
5楼#
发布于:2017-05-13 07:45
5月9号之前一点点才改的吗?
我用了半个月-1个月Nightly,开着多进程,但是从来没见过大菊花
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-29
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
6楼#
发布于:2017-05-13 09:58
infinity:5月9号之前一点点才改的吗?
我用了半个月-1个月Nightly,开着多进程,但是从来没见过大菊花
回到原帖
有一段时间了 是一些一些改。我一开始菊花转挺久,后来更新后突然就快很多了,具体时间忘了。
Firefox More than meets your experience
游客

返回顶部