- VS Code 版本:1.55.1,1.56.0-内测版
- 操作系统版本:Ubuntu 20.10
我经常需要通过远程SSH在集成终端中打印R中的表格(或数据框),如下所示。在之前的版本中,打印速度几乎与本地控制台一样快。
在最近的版本中,通过远程SSH在集成终端中打印此类表格变得相当卡顿。看起来是一行一行地发送打印内容。如果我在tmux窗口中打印表格,情况变得更糟,即之前花费不到0.5秒的时间现在需要超过20秒,而中间的远程SSH连接有时会变得不稳定。
为了缩小问题范围,我尝试了以下操作:
- 在本地,无论是在tmux中还是在外面打印表格都非常快。
- 在本地vscode中,打开集成终端并SSH到服务器,启动R并打印
mtcars
。这也非常快,但有时在tmux中会变慢。 - 使用远程SSH连接到服务器。打开集成终端并启动R并打印
mtcars
。这是快速的。但是在tmux中执行相同的操作时,它会非常卡顿,即打印几乎是一行一行地完成的。
要重现我的步骤,请运行
sudo apt install r-base
tmux
Rscript -e 'print(mtcars)'
然而,将输出放入文本文件并将文件传输到cat
,它就不会卡顿了。
Rscript -e 'print(mtcars)' > mtcars.txt
cat mtcars.txt
集成终端中的输入也很卡顿。在当前版本(1.55.1)中,我需要切换到"terminal.integrated.rendererType": "canvas"
,这样输入就不再卡顿了。在当前内测版中,设置消失了,我不得不使用"terminal.integrated.gpuAcceleration": "off"
,这样卡顿的输入就被修复了。然而,在这两种情况下,尽管卡顿的输入被修复了,但通过远程SSH进行卡顿打印仍然存在。
当所有扩展都被禁用时,这个问题是否发生?:是
8条答案
按热度按时间14ifxucb1#
我注意到我正在使用snap构建。我将其移除并从deb重新安装,问题消失了。
"terminal.integrated.rendererType": "auto"
和"terminal.integrated.gpuAcceleration": "on"
分别在1.55.1和1.56.0-insiders版本中运行良好。看起来snap构建似乎与硬件不兼容?
dm7nw8vv2#
我最近也遇到了类似的终端速度慢的问题。似乎在更新到1.55.1或1.55.2之后开始出现。我尝试了各种方法都无济于事,直到我卸载了snap包并安装了deb包。
感谢@renkun-ken分享你的经历,这对我很有帮助。希望有经验的人能准确识别snap包的问题所在,以便修复它!
ego6inou3#
我不确定这是否增加了任何视角,但我会把它放在这里。也许几个月前(我在这里非常模糊...我记不太清了)一个发布确实使我在Linux上的集成终端变慢了。(我在Ubuntu上使用snap版本的VSCode,并配备了集成的Intel GPU。)在此发布之前,集成终端运行得很好,很流畅。
在这个问题发布的版本之后,我发现这个配置让我恢复到了相当不错的终端性能:
"terminal.integrated.rendererType": "canvas"
。在升级到1.56.0版本后,终端性能又变得非常慢。在这一点上,我注意到我心爱的terminal.integrated.rendererType
被移除了!😢使用"terminal.integrated.gpuAcceleration": "off"
稍微改善了一些,但没有太多改善。在删除snap并安装
.deb
以及为terminal.integrated.gpuAcceleration
使用默认设置后,我的性能似乎又变得相当不错了。这里的笔记不是很精确,我对这些东西也不太了解,但我想我还是把这个笔记放在这里,以防它对任何人都有用。
非常感谢@renkun-ken建议我们放弃snap版本!
inb24sb24#
看起来在Electron 12下,WebGL渲染器在snap包中速度较慢。解决方法:
"terminal.integrated.gpuAcceleration": "off"
1rhkuytd5#
我确认了在Ubuntu 20.04上的snap包中出现的问题。这个问题是在升级到1.56版本后首次出现的。根据我的经验,即使只是在终端输入文字,速度也会变慢。关闭gpuAcceleration有所帮助,但问题仍然存在。
o7jaxewo6#
有人能提供使用snap版本时,终端减速被看到的
code --verbose
的输出结果吗?谢谢!x8goxv8g7#
code
和code-insider
的最新快照仍然存在问题。以下是code --verbose
的输出,如要求:93ze6v8z8#
snap connections firefox
显示已连接到OpenGL相同
snap connections chromium
显示已连接到OpenGLsnap connections code
没有连接(意味着它不允许与任何外部事物进行连接)。使用
--classic
发布快照并不意味着它将允许快照绕过所有安全措施。代码快照需要一些额外的连接,因此将会受益于许多额外的功能,如预期的那样。
Chromium快照可能会给出一个提示(安装时一切都是自动完成的)。