[halo-dev/halo]默认编辑器有时出现极其卡顿的情况并一直保持这种卡顿,确定并不是电脑本身卡顿

2024-04-01 869 views

回答

0

目前我没有复现这个问题。我的操作环境如下:

  • 操作系统: macOS 14.0 23A5301h arm64
  • 浏览器:Chrome Version 113.0.5672.126 (Official Build) (arm64) 和 Firefox 116.0.1 (64-bit)
2

是 Mac + Chrome 浏览器吗?我这边有几率复现,但其他网页上的输入框也一样,所以可能是 Chrome 的问题。建议换一个浏览器观察一下。

5

是Windows22621.2070 + Edge115.0.1901.183

1

我在 Windows 11 + Edge 上复制你的文章进行编辑,依旧没能复现这个问题。下次遇到这个问题的时候可以提供一下前后的操作步骤,不排除因为某个操作导致页面卡顿。

image

我的设备:

Windows 22631.2129(运行在 Mac 的 Parallel Desktop 虚拟机,4g RAM) + Edge 115.0.1901.188

4

我也曾出现过此问题且不只是默认编辑器, 卡顿情况和视频中的一致, 但是不知道是什么原因

MacBookPro (MacOS Ventura 13.4 (22F66)) + Chrome (113.0.5672.12)

没有具体操作步骤, 只是简单的编辑一篇文章, 并没有特别的操作

1

我经常遇到这个问题,几乎每次使用默认编辑器编写较长的文章时都会出现,卡顿情况有时甚至比视频更严重。

这个问题并不是 Halo 2.8 版本的新问题,至少在 2.7 版本时,就已经有这个问题。(我之前一直在用 ByteMD ,不清楚更早的版本是否有问题)

刷新页面可以临时解决这个问题,但基本上再写一点,问题很快重新出现。

Windows11企业版22621.2134 + Chrome115.0.5790.171(因为有近10天没有写过新文章了,不能确定这两个版本是否仍是会出现问题的版本)

这是我的博客,大家可以尝试使用这里的文章复现这个问题。并不需要局限哪篇文章,只要不是特别短,都会出现严重卡顿的问题。

4

我觉得并不能使用复制粘贴整篇文章的方式,复现这个问题。

这个问题可能是随着输入次数的增加而出现的,复制粘贴仅仅一篇文章也只是一次输入。

3

输入大量的回车之后,大约800行,我产生了相似的卡顿体验。

以下是输入时的性能摘要: image

  1. 800行产生了800个<p>标签。

以下代码可能是导致相关卡顿。 https://github.com/halo-dev/halo/blob/43e1e446b64a74726984efe3cb675a3211f5211d/console/src/components/editor/DefaultEditor.vue#L238-L241

我们可以做:

  1. 将三次getHtml调用调整为一次
  2. 使用debounce来控制onUpdate的频率

以下是一些无关技术的建议:

  1. 尝试关闭浏览器的拼写检查。
8

@gengxiaoxiaoxin 感谢花时间分析,有时间提交一个 PR 来优化这个问题吗?

4

我会在周末尝试解决这个问题。