为什么 Visual Studio Code 在 Ubuntu 中运行缓慢?

为什么 Visual Studio Code 在 Ubuntu 中运行缓慢?

我已经安装了 Ubuntu 18.04 LTS,我曾经在我的项目中使用过 Visual Studio Code,但问题是它非常慢。它钩住或锁定,我不知道如何表达才能让他们理解我的意思,因为我使用翻译器,我不知道哪个会更好。事实是,它非常糟糕,无论是在这个版本还是在 16.04 中。我也在 Windows 中使用它,它运行完美。有时它会崩溃,阻止所有进程并拒绝访问计算机。这与 Ubuntu 有什么关系吗,我应该以某种方式优化它吗?如果你能给我一些想法,那么,正如我所说,我已经习惯了 Visual Studio,我尝试了 Sublime text-3,它要好得多,但我应该习惯它,我不太喜欢它。原谅我的语法,我必须使用翻译器。谢谢。

答案1

https://code.visualstudio.com/docs/editor/integrated-terminal

默认情况下,集成终端将在大多数机器上使用 GPU 加速进行渲染。它使用多个元素来实现这一点,这些元素比 DOM 更适合渲染经常变化的交互式文本。

但是,Electron/Chromium 在某些环境下渲染到画布的速度较慢,因此 VS Code 还提供了后备 DOM 渲染器体验。VS Code 将尝试检测性能缓慢的情况,并通过通知为您提供更改选项。

terminal.integrated.gpuAcceleration您也可以通过设置用户或工作区设置来直接更改渲染。(在 Windows/Linux 上:文件 > 首选项 > 设置)

{
    "terminal.integrated.gpuAcceleration`": "off"
}

另一个可能提高性能的方法是通过使用启动 VS Code 来忽略 Chromium 的 GPU 黑名单code --ignore-gpu-blacklist

它对我有用,虽然不像真正的终端,但总比没有好,我希望这会有所帮助!

答案2

特别感谢reddit 帖子

我在使用 vs codebad performance时遇到的问题:在编辑器中writing textselecting textfreezes about 0.5 seconds

造成这个问题的原因有多种:

  • monitor refresh rate

(桌面用户案例)检查您的显卡刷新率。如果您的 GPU 有,max of 60hz则将您的显示器配置为60hz

如果您有辅助外接显示器(笔记本电脑用户情况),那么:

  1. check your gpu refresh rate.(例如你发现 60hz)
  2. go to settings
  3. make secondary monitor primary
  4. disable built-in display(笔记本电脑显示屏)
  5. set secondary monitor to 60hz
  6. reboot

对我来说,这个选项refresh rate非常有效。现在当我使用时,输入/选择文本时不再滞后manaro 21 xfce。我知道为什么在 askubuntu 上谈论 manjaro,但我ubuntu 20.04 gnome也遇到了同样的问题,但那时我对刷新率的想法并不感兴趣。


  • vim emulator vs code extension

通常,vs code 是handling the keypresses独立的,但是当安装了 vim 扩展时it overrides the control。vim 扩展是单线程的并且优化得不是很好,当你打字时可能会性能不佳,所以uninstallvim 扩展。

  • too many extensions

尝试卸载不重要的扩展或做出牺牲以减少总数。

  • bad graphics driver

尝试使用其他图形驱动程序。使用open-source一个,尝试性能。使用proprietary一个,尝试性能。

  • laptop is in power saving mode

尝试将您的 CPU 设置为性能模式。

编辑 日期:(2022 年 5 月 11 日)

问题出在我的 HDD 上,速度太慢了。移至 SSD 之后,写入文本的性能良好,因为 SSD 的写入和读取速度更快。

但是 vs code 很still慢。性能真的很差(与 sublime 相比 + 我很没有耐心)。

解决方案:移至 sublime text 4。

完毕。

确实,VS Code 很慢

答案3

截至 2022 年 2 月,在 Ubuntu 20.04 上使用默认设置时,某些系统在最新的 VS Code 中仍然会遇到性能不佳的情况。不过,以下选项已知可以解决此问题。YMMV,取决于系统配置和硬件。

Linux 上 Electron 应用程序普遍运行缓慢的最可能原因是缺乏 GPU 加速,这(经常?总是?)默认禁用要检查底层 Chromium 引擎是否为 VS Code 提供硬件加速:

  1. 打开 VS Code 窗口
  2. 在单独的终端窗口中运行code --status
  3. 检查输出中的错误,并注意“GPU 状态”部分。

如果硬件加速似乎被禁用(例如,webgl: disabled_softwareskia_renderer: enabled,则性能可能会受到影响,直到问题得到解决。

选项 1:忽略 GPU 黑名单

在某些情况下,Electron/Chromium 可能会因为黑名单而阻止 VS Code 启用 GPU 加速,可以通过使用 启动 VS Code 来禁用该功能code --ignore-gpu-blacklist。预计会出现以下警告:

警告:'ignore-gpu-blacklist' 不在已知选项列表中,但仍传递给 Electron/Chromium

如果这个方法可行,差异将会非常明显,特别是在集成终端中。

选项 2:编辑终端渲染设置

根据vscode 文档,可以通过设置 更改集成的终端渲染器terminal.integrated.gpuAcceleration。默认值为"auto"

该终端具有 3 个渲染器,如果检测到它们的性能不佳,则会按以下顺序回退:

  1. WebGL("terminal.integrated.gpuAcceleration": "on""auto"
  2. 帆布 ("terminal.integrated.gpuAcceleration": "canvas"
  3. DOM("terminal.integrated.gpuAcceleration": "off"

请注意,确认 vscode 是否遵循此设置可能很困难。 (如果您知道如何检查,请更新此答案!)

(旧版本的 vscode 有类似的设置,,terminal.integrated.rendererType但不再存在。)

选项 3:检查显卡驱动程序

Linux 工具提供了多种检查显卡驱动程序的方法,更新驱动程序的方法因制造商和对第三方的偏好而异。这超出了这个问题的范围,但是

  1. 正在使用哪些显示驱动程序?sudo lshw -c video
  2. 系统能以 60fps 的速度渲染一些基本的东西吗?sudo apt-get install mesa-tools; glxgears
  3. 在哪里可以找到更多信息?在 Firefox 中,about:support页面包含大量显卡和驱动程序信息。
  4. 更????看看其他地方

选项 4:查找行为不当的扩展

有时它会崩溃,阻止所有进程并拒绝访问计算机

尽管该症状暗示了另一个问题,但请从上面的 GPU 加速选项开始,因为其他性能问题可能更难追踪。接下来,禁用扩展以缩小性能拖累是来自 vscode 本身还是行为不当的扩展。top也可以使用类似的工具来确定哪个进程过度使用资源。

选项 5:重新安装 VS Code

我几乎不好意思添加这个选项,但它今天救了我。经过一些更新(和系统重启)后,它--ignore-gpu-blacklist停止工作,我尝试的任何方法都无法修复它。在追踪了 中的几个错误后code --status,我得出结论,VS Code 的 Snap 包可能有问题。我从网站下载了 .tar.gz,谢天谢地,硬件加速又开始工作了。

选项 6:Profile VS Code

我还没有走到这一步,但如果没有其他办法,有一种方法可以用开发工具来分析 vscode 本身。

答案4

我有一台 RTX GPU 和一台笔记本电脑(Nitro 5),显示屏为 144Hz,连接到一台显示屏为 60 Hz 的戴尔 Ultrasharp 显示器。

我遇到了性能问题,即第一个 Chrome 出现滞后。我以为是内存问题,于是删除了机器上运行的 kubernetes 集群。但仍然有这个问题。然后安装了 Firefox,对此很满意。

但后来我打开了 VS Code,出现了同样的问题。我在某处读到 Chrome 和 VSCode 都有这个基于 Electron 的后端。所以我认为问题不是内存,而是其他东西。我尝试禁用 GPU 设置,就像其他答案中给出的那样。但无济于事。

然后,我将笔记本电脑屏幕设为主屏幕,将扩展显示器设为辅助屏幕,问题就消失了!

注意我使用基于 Ubuntu 的 PopOS

相关内容