我已经安装了 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 text
。selecting text
freezes about 0.5 seconds
造成这个问题的原因有多种:
monitor refresh rate
(桌面用户案例)检查您的显卡刷新率。如果您的 GPU 有,max of 60hz
则将您的显示器配置为60hz
。
如果您有辅助外接显示器(笔记本电脑用户情况),那么:
check your gpu refresh rate.
(例如你发现 60hz)go to settings
make secondary monitor primary
disable built-in display
(笔记本电脑显示屏)set secondary monitor to 60hz
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 扩展是单线程的并且优化得不是很好,当你打字时可能会性能不佳,所以uninstall
vim 扩展。
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 提供硬件加速:
- 打开 VS Code 窗口
- 在单独的终端窗口中运行
code --status
- 检查输出中的错误,并注意“GPU 状态”部分。
如果硬件加速似乎被禁用(例如,webgl: disabled_software
)skia_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 个渲染器,如果检测到它们的性能不佳,则会按以下顺序回退:
- WebGL(
"terminal.integrated.gpuAcceleration": "on"
或"auto"
) - 帆布 (
"terminal.integrated.gpuAcceleration": "canvas"
- DOM(
"terminal.integrated.gpuAcceleration": "off"
)
请注意,确认 vscode 是否遵循此设置可能很困难。 (如果您知道如何检查,请更新此答案!)
(旧版本的 vscode 有类似的设置,,terminal.integrated.rendererType
但不再存在。)
选项 3:检查显卡驱动程序
Linux 工具提供了多种检查显卡驱动程序的方法,更新驱动程序的方法因制造商和对第三方的偏好而异。这超出了这个问题的范围,但是
- 正在使用哪些显示驱动程序?
sudo lshw -c video
- 系统能以 60fps 的速度渲染一些基本的东西吗?
sudo apt-get install mesa-tools; glxgears
- 在哪里可以找到更多信息?在 Firefox 中,
about:support
页面包含大量显卡和驱动程序信息。 - 更????看看其他地方。
选项 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