Panorama-tab-groups: 切换标签组很慢而且非常耗费资源

创建于 2018-12-29  ·  7评论  ·  资料来源: projectdelphai/panorama-tab-groups

无论如何这可以解决吗?

最有用的评论

我从代码中看到,每次切换到选项卡组视图时都会重新加载页面。 当visibilitychange事件因为文档可见( document.hidden === false )而触发时,它为每个选项卡调用captureThumbnails ,然后重新加载页面,然后调用captureThumbnails再次。 它将缩略图存储在会话中,但从不加载它们。 所以,这里有一些改进的空间:

  • 每次显示时不要重新加载页面
  • 在重新加载页面之前不要捕获缩略图
  • 从会话中查找缩略图而不是再次捕获(或者不保存到会话,如果不需要)

如果你愿意,我可以看看这些

所有7条评论

🤔 我在很多组中经历了稍微慢一点的切换。

请你告诉我们一些数字好吗?

你有多少组/标签?
您如何衡量资源强度?

我有两组,一组有 219 个标签,另一组有 6 个。

如果我通过阅读器模式播放音频,我系统上的风扇开始旋转。 音频停止并断断续续。

系统:Nightly、Fedora 29、Intel® Core™ i7-4710HQ CPU @ 2.50GHz × 8、GeForce GTX 860M/PCIe/SSE2。

我从代码中看到,每次切换到选项卡组视图时都会重新加载页面。 当visibilitychange事件因为文档可见( document.hidden === false )而触发时,它为每个选项卡调用captureThumbnails ,然后重新加载页面,然后调用captureThumbnails再次。 它将缩略图存储在会话中,但从不加载它们。 所以,这里有一些改进的空间:

  • 每次显示时不要重新加载页面
  • 在重新加载页面之前不要捕获缩略图
  • 从会话中查找缩略图而不是再次捕获(或者不保存到会话,如果不需要)

如果你愿意,我可以看看这些

那简直太好了! 感谢您对此进行调查 :) 在太平洋标准时间星期六晚上之前我仍在休假,所以我感谢你们所做的所有工作!

我对它进行了一些研究,我认为它会对这里的某种虚拟 dom 库有所帮助。 不过,我很犹豫要不要全部响应,但是每次显示页面时都需要一些东西来解决整个页面的重新加载问题。 需要的是一种简单的方法来仅使用已更改的内容更新 dom,并且由于在显示页面时可能所有内容都已更改,因此比手动更新 dom 节点更聪明的方法可能会有所帮助。 你怎么认为? 你有什么图书馆有很好的经验吗?

这里可能存在轻微的过度工程情况。 我首先想到的是禁用缩略图的选项如何? 这样,拥有大量选项卡的人可能会立即体验到一些改进,而无需我们预先添加大量代码。

我能想到的其他一些事情:自上次查看以来打开的选项卡数量。 如果相同,请不要重新加载标签。 如果有新标签,可能有办法只加载那些缩略图并从缓存中提取其余的? 明天要考虑的事情

所以我想我可能已经找到了(一个)更大的来源(至少在没有切换到全景视图时。这是它自己的蠕虫罐头)。

看起来browser.tabs.onUpdated侦听器实际上侦听了相当广泛的事件,只有其中一些对于保持全景视图的最新状态很重要。 值得注意的是,如果您不设置任何过滤器,它会在每次隐藏或取消隐藏单个选项卡时触发,每次切换组时都会发生这种情况。 过滤掉一些不太相关的事件似乎可以大大加快速度。

我目前正在一个分支上工作,其中包括几个实质性的性能优化,包括上述优化。 我要花更长的时间才能完成(特别是因为我仍然试图追踪一个莫名其妙的长时间 CPU 峰值),但到目前为止它看起来非常有希望。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

09croberts picture 09croberts  ·  6评论

YoussefV picture YoussefV  ·  7评论

maverick74 picture maverick74  ·  17评论

leedoyle picture leedoyle  ·  7评论

Ansem93 picture Ansem93  ·  13评论