microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.7k stars 29.07k forks source link

VS Code 1.63.2 is extremely slow #140427

Closed ghost closed 2 years ago

ghost commented 2 years ago

Issue Type: Performance Issue

VS Code lags on any action, eg typing deleting, switiching to another window or back to the VS code window, opening a menu, really anything. This behaviour is persistent accross application restarts, machine reboots as well as with all extensions disabled. This issue is noticeable for a couple of weeks but I cannot say what changed when it first appeared.

Please, help. Please, let me know if I can provide any sort of debug log for you.

VS Code version: Code 1.63.2 (899d46d82c4c95423fb7e10e68eba52050e30ba3, 2021-12-15T09:39:46.686Z) OS version: Linux x64 5.10.0-1049-oem Restricted Mode: No

System Info |Item|Value| |---|---| |CPUs|11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 x 3380)| |GPU Status|2d_canvas: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
opengl: enabled_on
rasterization: disabled_software
skia_renderer: enabled_on
video_decode: disabled_software
vulkan: disabled_off
webgl: enabled
webgl2: enabled| |Load (avg)|15, 9, 5| |Memory (System)|15.38GB (1.26GB free)| |Process Argv|--crash-reporter-id 408aa303-de17-42b9-8c3f-af6a8ca63b39| |Screen Reader|no| |VM|0%| |DESKTOP_SESSION|bspwm| |XDG_CURRENT_DESKTOP|undefined| |XDG_SESSION_DESKTOP|bspwm| |XDG_SESSION_TYPE|x11|
Process Info ``` CPU % Mem MB PID Process 0 173 771410 code main 0 32 771413 zygote 0 110 771447 gpu-process 0 32 771414 zygote 0 0 771416 zygote 0 79 790354 issue-reporter 0 47 771461 utility-network-service 0 126 771512 shared-process 0 63 771696 ptyHost 0 126 790245 watcherServiceParcelSharedProcess 0 0 790454 /bin/sh -c /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command= 0 0 790455 /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command= 0 158 790217 window (georgi.karapetrov - Visual Studio Code) 0 79 790243 extensionHost ```
Workspace Info ``` | Window (georgi.karapetrov - Visual Studio Code) | Error: Unable to collect workspace stats for folder /home/georgi.karapetrov (TypeError: t is not iterable); ```

Extensions: none

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30283811
pythonvspyt551cf:30345471
pythonptprofiler:30281270
vsdfh931:30280409
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805cf:30301675
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
vscop804:30404766
vs360cf:30404996
vsrem710cf:30416617
vscexrecpromp3t1:30407762

GeorgiKarapetrov commented 2 years ago

Workaround: start VSCode with --disable-gpu.

joaopaulovilela commented 2 years ago

Source: https://code.visualstudio.com/updates/v1_40#_disable-gpu-acceleration

vgjenks commented 2 years ago

Doesn't matter if I turn HA off per @joaopaulovilela recommendation above, or not - after 20 min. of use, VS Code is so brutally slow, it needs to be restarted. I'm on macOS 12.4 (latest as of this comment.) I'm on latest VSC 1.70.0. Please fix! It's nearly unusable for someone who spends 10-12 hours in it, everyday!

deepak1556 commented 2 years ago

@vgjenks can you provide the performance profile following the steps at https://github.com/microsoft/vscode/wiki/Performance-Issues#visual-studio-code-is-sluggish. Also, are you using the universal build of the application ?

vgjenks commented 2 years ago

@vgjenks can you provide the performance profile following the steps at https://github.com/microsoft/vscode/wiki/Performance-Issues#visual-studio-code-is-sluggish. Also, are you using the universal build of the application ?

Sure, here's what I get. I typically run a lot of Node/Express APIs and a couple of React front-ends through the debugger, much of the day. I get a few hours of good behavior at best, then have to shut it all down and reboot. This was not an issue until two updates ago (I can't provide those version numbers, sorry...no idea.)

I installed the binary that you'd find on the front page of the VS Code site, and have been doing all upgrades when prompted. No special builds or anything exotic going on there.

I re-enabled HA yesterday to test that on the latest. Makes no difference whether on or off - exact same pattern occurs.

`% code --status Unable to read argv.json configuration file in /Users/vjenks/.vscode/argv.json, falling back to defaults (SyntaxError: Unexpected token } in JSON at position 177) objc[92804]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x7ffb4b03e948) and /Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib (0x11ab269c8). One of the two will be used. Which one is undefined.

Version: Code 1.70.0 (da76f93349a72022ca4670c1b84860304616aaa2, 2022-08-04T04:38:55.829Z) OS Version: Darwin x64 21.5.0 CPUs: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz (16 x 2300) Memory (System): 64.00GB (4.92GB free) Load (avg): 2, 2, 3 VM: 0% Screen Reader: no Process Argv: GPU Status: 2d_canvas: enabled canvas_oop_rasterization: disabled_off direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled metal: disabled_off multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok skia_renderer: enabled_on video_decode: enabled video_encode: enabled webgl: enabled webgl2: enabled

CPU % Mem MB PID Process 1 131 29555 code main 0 66 29556 gpu-process 0 0 29558 utility-network-service 1 131 29559 window (compare_object_arrays.js — JSPractice) 0 590 29560 window (job_service.js — projects) 0 66 29570 shared-process 0 0 29573 ptyHost 0 0 29829 /bin/zsh -l 0 0 29852 /bin/zsh -l 0 0 29874 /bin/zsh -il 0 0 29582 fileWatcher 0 0 29583 fileWatcher 0 0 29571 extensionHost 0 0 29588 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node --max-old-space-size=3072 /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js --serverMode partialSemantic --useInferredProjectPerProjectRoot --disableAutomaticTypingAcquisition --cancellationPipeName /var/folders/qw/6_1zl6m92zs99w7vtlx2fmgh0000gn/T/vscode-typescript501/4174785d6aa48b2e5819/tscancellation-59b9b4f2eac5680eb615.tmp --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc 0 0 29589 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node --max-old-space-size=3072 /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js --useInferredProjectPerProjectRoot --enableTelemetry --cancellationPipeName /var/folders/qw/6_1zl6m92zs99w7vtlx2fmgh0000gn/T/vscode-typescript501/4174785d6aa48b2e5819/tscancellation-43cc366a87e9edf02120.tmp --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc 0 0 29606 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/typingsInstaller.js --globalTypingsCacheLocation /Users/vjenks/Library/Caches/typescript/4.7 --enableTelemetry --typesMapLocation /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/typesMap.json --validateDefaultNpmLocation 0 0 29590 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/mtxr.sqltools-0.23.0/dist/languageserver.js --node-ipc --clientProcessId=29571 0 0 29594 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/graphql.vscode-graphql-0.7.1/out/server/index.js --node-ipc --clientProcessId=29571 0 0 29621 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/dbaeumer.vscode-eslint-2.2.6/server/out/eslintServer.js --node-ipc --clientProcessId=29571 0 0 29827 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/redhat.vscode-yaml-1.9.1/dist/languageserver.js --node-ipc --clientProcessId=29571 0 0 29939 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/amazonwebservices.aws-toolkit-vscode-1.46.0/dist/src/ssmDocument/ssm/ssmServer.js --node-ipc --clientProcessId=29571 0 0 29990 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/amazonwebservices.aws-toolkit-vscode-1.46.0/dist/src/stepFunctions/asl/aslServer.js --node-ipc --clientProcessId=29571 0 655 29572 extensionHost 0 66 29609 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node --max-old-space-size=3072 /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js --serverMode partialSemantic --useInferredProjectPerProjectRoot --disableAutomaticTypingAcquisition --cancellationPipeName /var/folders/qw/6_1zl6m92zs99w7vtlx2fmgh0000gn/T/vscode-typescript501/beaac5d831ff312271ff/tscancellation-ba51b6bf6922a3d47abb.tmp --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc 0 262 29610 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node --max-old-space-size=3072 /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/tsserver.js --useInferredProjectPerProjectRoot --enableTelemetry --cancellationPipeName /var/folders/qw/6_1zl6m92zs99w7vtlx2fmgh0000gn/T/vscode-typescript501/beaac5d831ff312271ff/tscancellation-34a294f827ff2de596dd.tmp --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc 0 0 29654 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/typingsInstaller.js --globalTypingsCacheLocation /Users/vjenks/Library/Caches/typescript/4.7 --enableTelemetry --typesMapLocation /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/typesMap.json --validateDefaultNpmLocation 0 0 29611 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/mtxr.sqltools-0.23.0/dist/languageserver.js --node-ipc --clientProcessId=29572 0 0 29612 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=29572 0 0 29616 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/graphql.vscode-graphql-0.7.1/out/server/index.js --node-ipc --clientProcessId=29572 0 131 29780 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/dbaeumer.vscode-eslint-2.2.6/server/out/eslintServer.js --node-ipc --clientProcessId=29572 0 0 29917 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/redhat.vscode-yaml-1.9.1/dist/languageserver.js --node-ipc --clientProcessId=29572 0 0 29942 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/amazonwebservices.aws-toolkit-vscode-1.46.0/dist/src/ssmDocument/ssm/ssmServer.js --node-ipc --clientProcessId=29572 0 0 30007 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --ms-enable-electron-run-as-node /Users/vjenks/.vscode/extensions/amazonwebservices.aws-toolkit-vscode-1.46.0/dist/src/stepFunctions/asl/aslServer.js --node-ipc --clientProcessId=29572 0 131 91272 electron_node ms-vscode.js 0 66 91285 gpu-process 0 66 91286 utility-network-service 0 0 91288 utility 0 131 91291 window (undefined) 0 131 91368 window (undefined) 0 66 91373 window (undefined) 1 655 91274 /usr/local/bin/node ./metadata-api/bin/www 0 66 91275 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 655 91308 /usr/local/bin/node ./lookup-api/bin/www 0 66 91309 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 721 91316 /usr/local/bin/node ./auth-api/bin/www 0 66 91317 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 655 91322 /usr/local/bin/node ./profile-api/bin/www 0 66 91323 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 655 91328 /usr/local/bin/node ./log-api/bin/www 0 66 91329 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 655 91333 /usr/local/bin/node ./message-api/bin/www 0 66 91334 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 721 91339 /usr/local/bin/node ./file-api/bin/www 0 66 91348 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 721 91343 /usr/local/bin/node ./job-api/bin/www 0 66 91349 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 655 91347 /usr/local/bin/node ./search-api/bin/www 0 66 91354 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js 1 655 91355 /usr/local/bin/node ./order-api/bin/www 0 66 91356 /usr/local/bin/node /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/watchdog.bundle.js

Workspace Stats: | Window (job_service.js — projects) | Window (compare_object_arrays.js — JSPractice) | Folder (projects): 2004 files | File types: js(887) scss(163) png(90) map(66) json(65) sh(44) | gitignore(34) DS_Store(30) css(30) jpg(28) | Conf files: package.json(18) dockerfile(15) jsconfig.json(11) | launch.json(3) tasks.json(2) | Launch Configs: node(10) chrome(3) aws-sam | Folder (JSPractice): 11479 files | File types: java(1132) js(1080) png(666) go(653) md(477) cs(445) | json(421) py(417) php(412) kt(368) | Conf files: csproj(274) sln(221) package.json(119) makefile(32) | tsconfig.json(26) dockerfile(4) launch.json(2) | settings.json(1) | Launch Configs: node(20) chrome(3) node-terminal `

deepak1556 commented 2 years ago

Can you also perform the following steps when you observe the slow UI,

vgjenks commented 2 years ago

@deepak1556 Thanks for the follow-up. Here ya go.

Profile-20220810T100819.json.zip

deepak1556 commented 2 years ago

/cc @alexdima in the above profile, around 40s I see an unusual amount of _revalidateTokensNow when the user tries to find reference and the frame drops around that time might be related. Is this expected ?

Screenshot 2022-08-11 at 11 09 57 AM
deepak1556 commented 2 years ago

@vgjenks can you follow the steps below to try our experimental profile support which allows to isolate your user settings, this is to check if any of your existing setting has an impact on the above rendering.

vscodenpa commented 2 years ago

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.

Happy Coding!

vgjenks commented 2 years ago

@vgjenks can you follow the steps below to try our experimental profile support which allows to isolate your user settings, this is to check if any of your existing setting has an impact on the above rendering.

  • Use latest insiders
  • Under settings.json "workbench.experimental.settingsProfiles.enabled": true
  • From the gear icon, create a new profile
Screenshot 2022-08-11 at 11 22 19 AM
  • You can always switch back to your old profile from the status bar
  • Under this new profile, check if the freeze happens.
  • If not, try importing setting from your previous profile and see which one has an impact.

This is more than I have time for right now...but it looks like the ticket was closed out anyhow?

hanysalama66 commented 2 years ago

Source: https://code.visualstudio.com/updates/v1_40#_disable-gpu-acceleration

  • Open the Command Palette (Ctrl+Shift+P).
  • Run the Preferences: Configure Runtime Arguments command.
  • Add "disable-hardware-acceleration": true.
  • Restart VS Code.

thanks