microsoft / vscode

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

perf issue when toggling between windows or applications caused by extension #103068

Closed Mon-ius closed 4 years ago

Mon-ius commented 4 years ago

I installed the insider version and I can clearly feel the low speed and lag while toggle with windows and applications. Then I check the Developer log. There is an error,

(node:2657) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (at writeOut (internal/process/warning.js:27:3)) t.log @ console.ts:70 MACOS 10.15.6 (19G73)

code --version
1.48.0-insider
eb1ca267d6a478734bd7f3d629ac9b80926ee9d1
x64
deepak1556 commented 4 years ago

Can you share your workspace settings, also a screen recording of the issue would help.

There is a known perf issue with window resize https://github.com/electron/electron/issues/23980 but haven't seen any issue when toggling applications, seems to be configuration specific.

Mon-ius commented 4 years ago

Here is the setting:

`{ "editor.wordWrap": "on", "python.pythonPath": "/Users/monius/anaconda3/bin/python", "java.home": "/usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home", "remote.SSH.showLoginTerminal": true, "remote.SSH.useLocalServer": false, // "JAVA_HOME": "workbench.colorTheme": "Night Owl", "workbench.startupEditor": "newUntitledFile", "atomKeymap.promptV3Features": true, "editor.multiCursorModifier": "ctrlCmd", "editor.formatOnPaste": false, "editor.fontFamily": "hack", // Controls the line height. Use 0 to compute the lineHeight from the fontSize. "editor.lineHeight": 24, // Enables font ligatures "editor.fontLigatures": true, // Controls if file decorations should use badges. "explorer.decorations.badges": false, "terminal.external.osxExec": "iTerm.app", "terminal.integrated.shell.osx": "/bin/zsh", "terminal.integrated.fontFamily": "Hack Nerd Font", "window.zoomLevel": 1, "explorer.confirmDelete": false, "vs-kubernetes": { "vs-kubernetes.helm-path": "/Users/monius/.vs-kubernetes/tools/helm/darwin-amd64/helm", "vs-kubernetes.minikube-path": "/Users/monius/.vs-kubernetes/tools/minikube/darwin-amd64/minikube", "vs-kubernetes.draft-path": "/Users/monius/.vs-kubernetes/tools/draft/darwin-amd64/draft", "vs-kubernetes.minikube-path.mac": "/Users/monius/.vs-kubernetes/tools/minikube/darwin-amd64/minikube" }, "git.enableSmartCommit": true,

"fabric.runtime": {
    "ports": {
        "orderer": 17050,
        "peerRequest": 17051,
        "peerChaincode": 17052,
        "peerEventHub": 17053,
        "certificateAuthority": 17054,
        "couchDB": 17055,
        "logs": 17056
    },
    "developmentMode": false
},
"explorer.confirmDragAndDrop": false,
"C_Cpp.updateChannel": "Insiders",
"latex-workshop.message.update.show": false,
"latex-workshop.view.pdf.external.synctex": {
    "command": "/usr/local/bin/displayline",
    "args": [
        "-r",
        "%LINE%",
        "%PDF%",
        "%TEX%"
    ]
},
"latex-workshop.view.pdf.external.viewer.command": "/usr/local/bin/displayline",
"latex-workshop.view.pdf.external.viewer.args": [
    "0",
    "%PDF%"
],
"latex-workshop.latex.recipes": [
    {
        // bib
        "name": "Reference-compile",
        "tools": [
            "xelatex",
            "bibtex",
            "xelatex",
            "xelatex"
        ]
    },
    {
        "name": "xelatex",
        "tools": [
            "xelatex"
        ]
    },
    {
        "name": "pdflatex",
        "tools": [
            "pdflatex",
            "bibtex",
            "pdflatex",
            "pdflatex"
        ]
    },

],
"latex-workshop.latex.tools": [
    {
        "name": "xelatex",
        "command": "xelatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "%DOC%"
        ]
    },
    {
        "name": "latexmk",
        "command": "latexmk",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "%DOC%"
        ]
    },
    {
        "name": "pdflatex",
        "command": "pdflatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "%DOC%"
        ]
    },
    {
        "name": "bibtex",
        "command": "bibtex",
        "args": [
            "%DOCFILE%"
        ]
    }
],
"latex-workshop.view.pdf.viewer": "tab",
"ibm-blockchain-platform.fabric.runtime": {
    "ports": {
        "orderer": 17050,
        "peerRequest": 17051,
        "peerChaincode": 17052,
        "peerEventHub": 17053,
        "certificateAuthority": 17054,
        "couchDB": 17055,
        "logs": 17056
    },
    "developmentMode": false
},
"ibm-blockchain-platform.fabric.wallets": [],
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"files.exclude": {
    "**/.classpath": true,
    "**/.project": true,
    "**/.settings": true,
    "**/.factorypath": true
},
"terminal.integrated.inheritEnv": true,
"python.jediEnabled": false,
"java.errors.incompleteClasspath.severity": "ignore",
"[javascript]": {
    "editor.defaultFormatter": "HookyQR.beautify"
},
"dart.debugExternalLibraries": true,
"dart.debugSdkLibraries": false,
"git.autofetch": true,
"arduino.additionalUrls": "",
"remote.SSH.remotePlatform": {
    "bg": "linux"
},
"git.ignoreLegacyWarning": true,
"python.dataScience.askForKernelRestart": false,
"python.dataScience.textOutputLimit": 0,
"python.datascience.featureenabled": true,
"java.semanticHighlighting.enabled": true,
"python.languageServer": "Microsoft",
"python.showStartPage": false,
"editor.formatOnSave": false,
"editor.formatOnType": false,
"sync.gist": "3b017e97e1ee109012fa208e5232cb3d",
"sync.autoDownload": false,
"sync.autoUpload": true,
"sync.forceUpload": true,
"sync.quietSync": false,
// "latex-workshop.view.pdf.viewer": "external",
// "latex-workshop.latex.autoBuild.onSave.enabled": false,

}`

deepak1556 commented 4 years ago

thanks, does this issue happen when you run with --disable-extensions ?

Additionally can you start with --trace-startup --trace-startup-duration=30 perform the window operations that show the lag and quit the app. This will generate a file called chrometrace.log, please attach it.

Perform the same for stable version and attach its log too.

Mon-ius commented 4 years ago

Do you mean this

code --trace-startup --trace-startup-duration=30 Warning: 'trace-startup' is not in the list of known options, but still passed to Electron/Chromium. Warning: 'trace-startup-duration' is not in the list of known options, but still passed to Electron/Chromium.

Mon-ius commented 4 years ago

It will not happen when --disable-extensions enabled.

code . --disable-extensions works.

But code . --trace-startup --trace-startup-duration=30, shows that

Warning: 'trace-startup' is not in the list of known options, but still passed to Electron/Chromium. Warning: 'trace-startup-duration' is not in the list of known options, but still passed to Electron/Chromium.

The problem happends on insider version.

deepak1556 commented 4 years ago

You can ignore the warning log message, it should still generate a file called chrometrace.log once the application quits under the current directory.

Mon-ius commented 4 years ago

Yes, I noticed that.

chrometrace

deepak1556 commented 4 years ago

Thanks for the log.

It will not happen when --disable-extensions enabled.

Did you mean the lag does not happen when extensions are disabled in the insiders version ?

Mon-ius commented 4 years ago

Yes. Don't know which extention cause the problem. Did you find out something from the chrometrace log?

deepak1556 commented 4 years ago
Screen Shot 2020-07-28 at 5 46 05 PM

There are some frame drops caused by blocking main thread execution, but I am not sure what extension is causing it. Can you try narrowing down the problematic extension by disabling them one by one.

Mon-ius commented 4 years ago

I can give these extenstion.

[
  {
    "metadata": {
      "id": "5a8b9107-e667-4ec8-a792-d066a93b9eff",
      "publisherId": "ms-python.anaconda-extension-pack",
      "publisherDisplayName": "ms-python"
    },
    "name": "anaconda-extension-pack",
    "publisher": "ms-python",
    "version": "1.0.1"
  },
  {
    "metadata": {
      "id": "e481f37f-988f-48e8-85c8-f8b6554acd8f",
      "publisherId": "adelphes.android-dev-ext",
      "publisherDisplayName": "adelphes"
    },
    "name": "android-dev-ext",
    "publisher": "adelphes",
    "version": "1.3.2"
  },
  {
    "metadata": {
      "id": "850c6bb1-4a81-4f83-a81f-835d651a211c",
      "publisherId": "Mikael.Angular-BeastCode",
      "publisherDisplayName": "Mikael"
    },
    "name": "Angular-BeastCode",
    "publisher": "Mikael",
    "version": "8.1.2"
  },
  {
    "metadata": {
      "id": "fef34a3f-ede8-49c1-8b6b-20345eb423a6",
      "publisherId": "moozzyk.Arduino",
      "publisherDisplayName": "moozzyk"
    },
    "name": "Arduino",
    "publisher": "moozzyk",
    "version": "0.0.4"
  },
  {
    "metadata": {
      "id": "4f222269-85cf-4bbb-9b92-941f8178167d",
      "publisherId": "ronaldosena.arduino-snippets",
      "publisherDisplayName": "ronaldosena"
    },
    "name": "arduino-snippets",
    "publisher": "ronaldosena",
    "version": "1.0.2"
  },
  {
    "metadata": {
      "id": "fa57ae0e-d21e-40d8-a0bb-a58b5fd9ead3",
      "publisherId": "ms-vscode.atom-keybindings",
      "publisherDisplayName": "ms-vscode"
    },
    "name": "atom-keybindings",
    "publisher": "ms-vscode",
    "version": "3.0.8"
  },
  {
    "metadata": {
      "id": "5619a084-6632-4221-9def-b94bdc42e23a",
      "publisherId": "Nash.awesome-flutter-snippets",
      "publisherDisplayName": "Nash"
    },
    "name": "awesome-flutter-snippets",
    "publisher": "Nash",
    "version": "2.0.4"
  },
  {
    "metadata": {
      "id": "697255a9-3f36-44c8-b084-d3b91edfb23a",
      "publisherId": "HookyQR.beautify",
      "publisherDisplayName": "HookyQR"
    },
    "name": "beautify",
    "publisher": "HookyQR",
    "version": "1.5.0"
  },
  {
    "metadata": {
      "id": "b689fcc8-d494-4dbf-a228-2c694a578afc",
      "publisherId": "alefragnani.Bookmarks",
      "publisherDisplayName": "alefragnani"
    },
    "name": "Bookmarks",
    "publisher": "alefragnani",
    "version": "11.3.1"
  },
  {
    "metadata": {
      "id": "f583eafd-aa0d-4ccb-8f44-d1e610389660",
      "publisherId": "CoenraadS.bracket-pair-colorizer",
      "publisherDisplayName": "CoenraadS"
    },
    "name": "bracket-pair-colorizer",
    "publisher": "CoenraadS",
    "version": "1.0.61"
  },
  {
    "metadata": {
      "id": "de611071-4d05-4903-821c-6878df63d4af",
      "publisherId": "austin.code-gnu-global",
      "publisherDisplayName": "austin"
    },
    "name": "code-gnu-global",
    "publisher": "austin",
    "version": "0.2.2"
  },
  {
    "metadata": {
      "id": "e337c67b-55c2-4fef-8949-eb260e7fb7fd",
      "publisherId": "Shan.code-settings-sync",
      "publisherDisplayName": "Shan"
    },
    "name": "code-settings-sync",
    "publisher": "Shan",
    "version": "3.4.3"
  },
  {
    "metadata": {
      "id": "0f8bd812-5d52-4fff-bd1c-6b0a7ee9cad9",
      "publisherId": "bierner.color-info",
      "publisherDisplayName": "bierner"
    },
    "name": "color-info",
    "publisher": "bierner",
    "version": "0.5.1"
  },
  {
    "metadata": {
      "id": "690b692e-e8a9-493f-b802-8089d50ac1b2",
      "publisherId": "ms-vscode.cpptools",
      "publisherDisplayName": "ms-vscode"
    },
    "name": "cpptools",
    "publisher": "ms-vscode",
    "version": "0.29.0"
  },
  {
    "metadata": {
      "id": "f57f68ea-9ee8-42b5-9a97-041d3e4278c4",
      "publisherId": "Dart-Code.dart-code",
      "publisherDisplayName": "Dart-Code"
    },
    "name": "dart-code",
    "publisher": "Dart-Code",
    "version": "3.12.2"
  },
  {
    "metadata": {
      "id": "81fc200f-fa28-4491-8d20-cda841da5566",
      "publisherId": "luanpotter.dart-import",
      "publisherDisplayName": "luanpotter"
    },
    "name": "dart-import",
    "publisher": "luanpotter",
    "version": "0.2.0"
  },
  {
    "metadata": {
      "id": "bce78737-8848-49f7-a27d-97004928fe41",
      "publisherId": "hediet.debug-visualizer",
      "publisherDisplayName": "hediet"
    },
    "name": "debug-visualizer",
    "publisher": "hediet",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "1ec62ca5-d7f9-4ddb-a882-e8d018c0aefd",
      "publisherId": "msjsdiag.debugger-for-chrome",
      "publisherDisplayName": "msjsdiag"
    },
    "name": "debugger-for-chrome",
    "publisher": "msjsdiag",
    "version": "4.12.9"
  },
  {
    "metadata": {
      "id": "19804510-b475-4dae-b0f7-6ca08fd1af0c",
      "publisherId": "dsznajder.es7-react-js-snippets",
      "publisherDisplayName": "dsznajder"
    },
    "name": "es7-react-js-snippets",
    "publisher": "dsznajder",
    "version": "2.8.2"
  },
  {
    "metadata": {
      "id": "059992b6-f77c-4828-817c-1397b29cdeec",
      "publisherId": "cstrap.flask-snippets",
      "publisherDisplayName": "cstrap"
    },
    "name": "flask-snippets",
    "publisher": "cstrap",
    "version": "0.1.1"
  },
  {
    "metadata": {
      "id": "f6c3ec04-6057-4d9c-b997-69cba07a6158",
      "publisherId": "Dart-Code.flutter",
      "publisherDisplayName": "Dart-Code"
    },
    "name": "flutter",
    "publisher": "Dart-Code",
    "version": "3.12.2"
  },
  {
    "metadata": {
      "id": "2972da43-20b6-4207-8d1e-9cbc7529bd04",
      "publisherId": "alexisvt.flutter-snippets",
      "publisherDisplayName": "alexisvt"
    },
    "name": "flutter-snippets",
    "publisher": "alexisvt",
    "version": "2.0.0"
  },
  {
    "metadata": {
      "id": "8bb12ae3-73f8-40cf-86b7-4bd5729c6238",
      "publisherId": "GrapeCity.gc-excelviewer",
      "publisherDisplayName": "GrapeCity"
    },
    "name": "gc-excelviewer",
    "publisher": "GrapeCity",
    "version": "3.0.39"
  },
  {
    "metadata": {
      "id": "d6f6cfea-4b6f-41f4-b571-6ad2ab7918da",
      "publisherId": "golang.go",
      "publisherDisplayName": "golang"
    },
    "name": "go",
    "publisher": "golang",
    "version": "0.15.1"
  },
  {
    "metadata": {
      "id": "1cbadbba-0bd6-46fa-a309-76704bf66217",
      "publisherId": "mike-co.import-sorter",
      "publisherDisplayName": "mike-co"
    },
    "name": "import-sorter",
    "publisher": "mike-co",
    "version": "3.3.1"
  },
  {
    "metadata": {
      "id": "198a707e-28af-4e84-8610-6e2f628dd12d",
      "publisherId": "redhat.java",
      "publisherDisplayName": "redhat"
    },
    "name": "java",
    "publisher": "redhat",
    "version": "0.64.1"
  },
  {
    "metadata": {
      "id": "a2cec723-5349-460d-9de9-0fd1f8d3456f",
      "publisherId": "xabikos.JavaScriptSnippets",
      "publisherDisplayName": "xabikos"
    },
    "name": "JavaScriptSnippets",
    "publisher": "xabikos",
    "version": "1.8.0"
  },
  {
    "metadata": {
      "id": "2e4a6a59-8d62-4ea6-99ba-09ca1fb20dca",
      "publisherId": "MariusAlchimavicius.json-to-ts",
      "publisherDisplayName": "MariusAlchimavicius"
    },
    "name": "json-to-ts",
    "publisher": "MariusAlchimavicius",
    "version": "1.7.5"
  },
  {
    "metadata": {
      "id": "c86bc8a9-fd3b-44db-b28a-2d146cb78d3c",
      "publisherId": "fwcd.kotlin",
      "publisherDisplayName": "fwcd"
    },
    "name": "kotlin",
    "publisher": "fwcd",
    "version": "0.2.18"
  },
  {
    "metadata": {
      "id": "d36bad53-910d-481a-a7ee-8992450665f6",
      "publisherId": "mathiasfrohlich.Kotlin",
      "publisherDisplayName": "mathiasfrohlich"
    },
    "name": "Kotlin",
    "publisher": "mathiasfrohlich",
    "version": "1.7.1"
  },
  {
    "metadata": {
      "id": "6edd1f7d-7d66-42ee-a32f-62c990bcfa19",
      "publisherId": "torn4dom4n.latex-support",
      "publisherDisplayName": "torn4dom4n"
    },
    "name": "latex-support",
    "publisher": "torn4dom4n",
    "version": "3.2.0"
  },
  {
    "metadata": {
      "id": "61d03280-3919-4dd1-bce1-178ca21fdeaf",
      "publisherId": "James-Yu.latex-workshop",
      "publisherDisplayName": "James-Yu"
    },
    "name": "latex-workshop",
    "publisher": "James-Yu",
    "version": "8.11.1"
  },
  {
    "metadata": {
      "id": "f9025b89-89f7-4463-9ec0-31184d19d1d3",
      "publisherId": "abhiagr.logcat",
      "publisherDisplayName": "abhiagr"
    },
    "name": "logcat",
    "publisher": "abhiagr",
    "version": "0.0.7"
  },
  {
    "metadata": {
      "id": "98790d67-10fa-497c-9113-f6c7489207b2",
      "publisherId": "yzhang.markdown-all-in-one",
      "publisherDisplayName": "yzhang"
    },
    "name": "markdown-all-in-one",
    "publisher": "yzhang",
    "version": "3.1.0"
  },
  {
    "metadata": {
      "id": "f015bc3c-a098-4245-8765-615e002e09ab",
      "publisherId": "yzane.markdown-pdf",
      "publisherDisplayName": "yzane"
    },
    "name": "markdown-pdf",
    "publisher": "yzane",
    "version": "1.4.4"
  },
  {
    "metadata": {
      "id": "3b1db1fc-c7f7-4bd6-9fa4-b499dfa99a8a",
      "publisherId": "shd101wyy.markdown-preview-enhanced",
      "publisherDisplayName": "shd101wyy"
    },
    "name": "markdown-preview-enhanced",
    "publisher": "shd101wyy",
    "version": "0.5.12"
  },
  {
    "metadata": {
      "id": "5db78037-f674-459f-a236-db622c427c5b",
      "publisherId": "PKief.material-icon-theme",
      "publisherDisplayName": "PKief"
    },
    "name": "material-icon-theme",
    "publisher": "PKief",
    "version": "4.2.0"
  },
  {
    "metadata": {
      "id": "9f47c6a1-da06-41ce-ba18-5e281296aa0a",
      "publisherId": "stringham.move-ts",
      "publisherDisplayName": "stringham"
    },
    "name": "move-ts",
    "publisher": "stringham",
    "version": "1.12.0"
  },
  {
    "metadata": {
      "id": "fafa5467-69db-4609-b024-59ce63cb4738",
      "publisherId": "panuavakul.mvvm-flutter-widget",
      "publisherDisplayName": "panuavakul"
    },
    "name": "mvvm-flutter-widget",
    "publisher": "panuavakul",
    "version": "0.2.1"
  },
  {
    "metadata": {
      "id": "e58f546c-babc-455f-a265-ba40dbd140d4",
      "publisherId": "sdras.night-owl",
      "publisherDisplayName": "sdras"
    },
    "name": "night-owl",
    "publisher": "sdras",
    "version": "1.1.3"
  },
  {
    "metadata": {
      "id": "1bb92b2c-526c-4bfd-bb38-5bae1b278c89",
      "publisherId": "leizongmin.node-module-intellisense",
      "publisherDisplayName": "leizongmin"
    },
    "name": "node-module-intellisense",
    "publisher": "leizongmin",
    "version": "1.5.0"
  },
  {
    "metadata": {
      "id": "dff6b801-247e-40e9-82e8-8c9b1d19d1b8",
      "publisherId": "christian-kohler.npm-intellisense",
      "publisherDisplayName": "christian-kohler"
    },
    "name": "npm-intellisense",
    "publisher": "christian-kohler",
    "version": "1.3.0"
  },
  {
    "metadata": {
      "id": "c5c3f614-a287-4879-b0ab-8a32b23a4368",
      "publisherId": "bringout.pdf-view",
      "publisherDisplayName": "bringout"
    },
    "name": "pdf-view",
    "publisher": "bringout",
    "version": "2.1.1"
  },
  {
    "metadata": {
      "id": "6cf182b2-70cf-433e-97f2-45f414c9ad89",
      "publisherId": "platformio.platformio-ide",
      "publisherDisplayName": "platformio"
    },
    "name": "platformio-ide",
    "publisher": "platformio",
    "version": "1.10.0"
  },
  {
    "metadata": {
      "id": "96fa4707-6983-4489-b7c5-d5ffdfdcce90",
      "publisherId": "esbenp.prettier-vscode",
      "publisherDisplayName": "esbenp"
    },
    "name": "prettier-vscode",
    "publisher": "esbenp",
    "version": "5.1.3"
  },
  {
    "metadata": {
      "id": "30bcbe00-bac0-497a-838a-eda8e45d1864",
      "publisherId": "peterj.proto",
      "publisherDisplayName": "peterj"
    },
    "name": "proto",
    "publisher": "peterj",
    "version": "0.0.2"
  },
  {
    "metadata": {
      "id": "f1f59ae4-9318-4f3c-a9b5-81b2eaa5f8a5",
      "publisherId": "ms-python.python",
      "publisherDisplayName": "ms-python"
    },
    "name": "python",
    "publisher": "ms-python",
    "version": "2020.7.94776"
  },
  {
    "metadata": {
      "id": "bf2e8e73-fa4c-48c4-81cd-0be1a0f7c470",
      "publisherId": "SBSnippets.pytorch-snippets",
      "publisherDisplayName": "SBSnippets"
    },
    "name": "pytorch-snippets",
    "publisher": "SBSnippets",
    "version": "1.0.2"
  },
  {
    "metadata": {
      "id": "4dfff9f4-ff9b-47bb-b0d1-c54e18d8febb",
      "publisherId": "Ikuyadeu.r",
      "publisherDisplayName": "Ikuyadeu"
    },
    "name": "r",
    "publisher": "Ikuyadeu",
    "version": "1.4.3"
  },
  {
    "metadata": {
      "id": "3792588c-3d35-442d-91ea-fe6a755e8155",
      "publisherId": "mechatroner.rainbow-csv",
      "publisherDisplayName": "mechatroner"
    },
    "name": "rainbow-csv",
    "publisher": "mechatroner",
    "version": "1.7.0"
  },
  {
    "metadata": {
      "id": "93ce222b-5f6f-49b7-9ab1-a0463c6238df",
      "publisherId": "ms-vscode-remote.remote-containers",
      "publisherDisplayName": "ms-vscode-remote"
    },
    "name": "remote-containers",
    "publisher": "ms-vscode-remote",
    "version": "0.128.0"
  },
  {
    "metadata": {
      "id": "607fd052-be03-4363-b657-2bd62b83d28a",
      "publisherId": "ms-vscode-remote.remote-ssh",
      "publisherDisplayName": "ms-vscode-remote"
    },
    "name": "remote-ssh",
    "publisher": "ms-vscode-remote",
    "version": "0.51.0"
  },
  {
    "metadata": {
      "id": "bfeaf631-bcff-4908-93ed-fda4ef9a0c5c",
      "publisherId": "ms-vscode-remote.remote-ssh-edit",
      "publisherDisplayName": "ms-vscode-remote"
    },
    "name": "remote-ssh-edit",
    "publisher": "ms-vscode-remote",
    "version": "0.51.0"
  },
  {
    "metadata": {
      "id": "f0c5397b-d357-4197-99f0-cb4202f22818",
      "publisherId": "ms-vscode-remote.remote-wsl",
      "publisherDisplayName": "ms-vscode-remote"
    },
    "name": "remote-wsl",
    "publisher": "ms-vscode-remote",
    "version": "0.44.4"
  },
  {
    "metadata": {
      "id": "b24a13f5-4e50-4d9a-ab0a-87f47d9fdfcb",
      "publisherId": "stkb.rewrap",
      "publisherDisplayName": "stkb"
    },
    "name": "rewrap",
    "publisher": "stkb",
    "version": "1.13.0"
  },
  {
    "metadata": {
      "id": "0f4fe4fa-bf9a-483e-a312-f4e8ca833052",
      "publisherId": "idleberg.textile",
      "publisherDisplayName": "idleberg"
    },
    "name": "textile",
    "publisher": "idleberg",
    "version": "0.1.5"
  },
  {
    "metadata": {
      "id": "2f5dd8cb-d251-4d70-abfe-ddebcb077483",
      "publisherId": "octref.vetur",
      "publisherDisplayName": "octref"
    },
    "name": "vetur",
    "publisher": "octref",
    "version": "0.24.0"
  },
  {
    "metadata": {
      "id": "484d897a-6711-403c-ab54-a96f12be5833",
      "publisherId": "Equinusocio.vsc-community-material-theme",
      "publisherDisplayName": "Equinusocio"
    },
    "name": "vsc-community-material-theme",
    "publisher": "Equinusocio",
    "version": "1.4.1"
  },
  {
    "metadata": {
      "id": "dffaf5a1-2219-434b-9d87-cb586fd59260",
      "publisherId": "Equinusocio.vsc-material-theme",
      "publisherDisplayName": "Equinusocio"
    },
    "name": "vsc-material-theme",
    "publisher": "Equinusocio",
    "version": "32.8.0"
  },
  {
    "metadata": {
      "id": "8c609a4f-268a-41fb-8fe6-b6fcd95e8113",
      "publisherId": "equinusocio.vsc-material-theme-icons",
      "publisherDisplayName": "equinusocio"
    },
    "name": "vsc-material-theme-icons",
    "publisher": "equinusocio",
    "version": "1.1.4"
  },
  {
    "metadata": {
      "id": "db02610b-5329-4547-9b65-417a8b4eb2a5",
      "publisherId": "nondanee.vsc-netease-music",
      "publisherDisplayName": "nondanee"
    },
    "name": "vsc-netease-music",
    "publisher": "nondanee",
    "version": "0.0.39"
  },
  {
    "metadata": {
      "id": "f3cbfb84-b1e1-40ff-b70f-877253461260",
      "publisherId": "KevinRose.vsc-python-indent",
      "publisherDisplayName": "KevinRose"
    },
    "name": "vsc-python-indent",
    "publisher": "KevinRose",
    "version": "1.10.1"
  },
  {
    "metadata": {
      "id": "0479fc1c-3d67-49f9-b087-fb9069afe48f",
      "publisherId": "ms-azuretools.vscode-docker",
      "publisherDisplayName": "ms-azuretools"
    },
    "name": "vscode-docker",
    "publisher": "ms-azuretools",
    "version": "1.3.1"
  },
  {
    "metadata": {
      "id": "0b6421f4-e372-48ca-9a75-a35754911ed3",
      "publisherId": "kash4kev.vscode-esp8266fs",
      "publisherDisplayName": "kash4kev"
    },
    "name": "vscode-esp8266fs",
    "publisher": "kash4kev",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "61fcd0cf-64d7-4836-8d6b-d55f4fb83281",
      "publisherId": "vscjava.vscode-java-debug",
      "publisherDisplayName": "vscjava"
    },
    "name": "vscode-java-debug",
    "publisher": "vscjava",
    "version": "0.27.1"
  },
  {
    "metadata": {
      "id": "7865e561-1c83-410e-9b99-aabada597a7e",
      "publisherId": "vscjava.vscode-java-dependency",
      "publisherDisplayName": "vscjava"
    },
    "name": "vscode-java-dependency",
    "publisher": "vscjava",
    "version": "0.10.2"
  },
  {
    "metadata": {
      "id": "96f11e1f-1a46-4592-b084-f025b2c2a81f",
      "publisherId": "vscjava.vscode-java-pack",
      "publisherDisplayName": "vscjava"
    },
    "name": "vscode-java-pack",
    "publisher": "vscjava",
    "version": "0.9.1"
  },
  {
    "metadata": {
      "id": "67c06b0d-1891-42ca-b2a8-113e79bff069",
      "publisherId": "vscjava.vscode-java-test",
      "publisherDisplayName": "vscjava"
    },
    "name": "vscode-java-test",
    "publisher": "vscjava",
    "version": "0.24.0"
  },
  {
    "metadata": {
      "id": "3c6d2422-afcc-482d-a751-08c6ed38ce19",
      "publisherId": "wmaurer.vscode-jumpy",
      "publisherDisplayName": "wmaurer"
    },
    "name": "vscode-jumpy",
    "publisher": "wmaurer",
    "version": "0.3.1"
  },
  {
    "metadata": {
      "id": "daf8b44d-8aae-4da2-80c5-1f770219f643",
      "publisherId": "DavidAnson.vscode-markdownlint",
      "publisherDisplayName": "DavidAnson"
    },
    "name": "vscode-markdownlint",
    "publisher": "DavidAnson",
    "version": "0.36.1"
  },
  {
    "metadata": {
      "id": "b0f06c6b-24fb-4d7b-bd79-bc5e2fa17312",
      "publisherId": "vscjava.vscode-maven",
      "publisherDisplayName": "vscjava"
    },
    "name": "vscode-maven",
    "publisher": "vscjava",
    "version": "0.22.0"
  },
  {
    "metadata": {
      "id": "c15d87db-59f6-4399-a6e9-c334ba934ede",
      "publisherId": "formulahendry.vscode-node-red",
      "publisherDisplayName": "formulahendry"
    },
    "name": "vscode-node-red",
    "publisher": "formulahendry",
    "version": "0.2.0"
  },
  {
    "metadata": {
      "id": "23d72dfc-8dd1-4e30-926e-8783b4378f13",
      "publisherId": "ms-vscode-remote.vscode-remote-extensionpack",
      "publisherDisplayName": "ms-vscode-remote"
    },
    "name": "vscode-remote-extensionpack",
    "publisher": "ms-vscode-remote",
    "version": "0.20.0"
  },
  {
    "metadata": {
      "id": "73548103-01fc-4f3a-91d0-81a433b1aded",
      "publisherId": "onnovalkering.vscode-singularity",
      "publisherDisplayName": "onnovalkering"
    },
    "name": "vscode-singularity",
    "publisher": "onnovalkering",
    "version": "0.5.0"
  },
  {
    "metadata": {
      "id": "28fcf0b8-26a5-4e99-9b8d-02e990366c6f",
      "publisherId": "tombonnike.vscode-status-bar-format-toggle",
      "publisherDisplayName": "tombonnike"
    },
    "name": "vscode-status-bar-format-toggle",
    "publisher": "tombonnike",
    "version": "2.0.0"
  },
  {
    "metadata": {
      "id": "90a37ca1-92a2-488a-b196-7a8c0b0127ea",
      "publisherId": "ms-vscode.vscode-typescript-tslint-plugin",
      "publisherDisplayName": "ms-vscode"
    },
    "name": "vscode-typescript-tslint-plugin",
    "publisher": "ms-vscode",
    "version": "1.2.3"
  },
  {
    "metadata": {
      "id": "cd98b436-51b3-42ab-b571-8b2c9b889bcb",
      "publisherId": "coderfee.vscode-weapp-api",
      "publisherDisplayName": "coderfee"
    },
    "name": "vscode-weapp-api",
    "publisher": "coderfee",
    "version": "0.1.8"
  },
  {
    "metadata": {
      "id": "1daf68c7-0de4-4ca2-aa6f-51fb8eda40c0",
      "publisherId": "coderfee.vscode-wxml",
      "publisherDisplayName": "coderfee"
    },
    "name": "vscode-wxml",
    "publisher": "coderfee",
    "version": "0.1.9"
  },
  {
    "metadata": {
      "id": "2061917f-f76a-458a-8da9-f162de22b97e",
      "publisherId": "redhat.vscode-yaml",
      "publisherDisplayName": "redhat"
    },
    "name": "vscode-yaml",
    "publisher": "redhat",
    "version": "0.9.1"
  },
  {
    "metadata": {
      "id": "020e14e4-3f0d-41d4-901d-4d28c9775544",
      "publisherId": "gamunu.vscode-yarn",
      "publisherDisplayName": "gamunu"
    },
    "name": "vscode-yarn",
    "publisher": "gamunu",
    "version": "1.7.0"
  },
  {
    "metadata": {
      "id": "05bc6192-b517-4f6c-a5a2-6897bbdb8fbc",
      "publisherId": "carlosjs23.vscode-yarn-script",
      "publisherDisplayName": "carlosjs23"
    },
    "name": "vscode-yarn-script",
    "publisher": "carlosjs23",
    "version": "0.0.1"
  },
  {
    "metadata": {
      "id": "876e8f93-74d0-4f4f-91b7-34a09f19f444",
      "publisherId": "VisualStudioExptTeam.vscodeintellicode",
      "publisherDisplayName": "VisualStudioExptTeam"
    },
    "name": "vscodeintellicode",
    "publisher": "VisualStudioExptTeam",
    "version": "1.2.9"
  },
  {
    "metadata": {
      "id": "8551ab30-570a-4f12-b988-bccdb9ce8610",
      "publisherId": "sdras.vue-vscode-extensionpack",
      "publisherDisplayName": "sdras"
    },
    "name": "vue-vscode-extensionpack",
    "publisher": "sdras",
    "version": "0.2.0"
  },
  {
    "metadata": {
      "id": "c8d95916-cf54-455f-b324-cbd887b7d3a8",
      "publisherId": "sdras.vue-vscode-snippets",
      "publisherDisplayName": "sdras"
    },
    "name": "vue-vscode-snippets",
    "publisher": "sdras",
    "version": "1.9.0"
  },
  {
    "metadata": {
      "id": "cf9c74dd-33c7-4730-abba-2a128d2bc167",
      "publisherId": "SecretLab.yarn-spinner",
      "publisherDisplayName": "SecretLab"
    },
    "name": "yarn-spinner",
    "publisher": "SecretLab",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "6a20265e-b6b1-4f36-ab5b-edfdd44be535",
      "publisherId": "mblode.zotero",
      "publisherDisplayName": "mblode"
    },
    "name": "zotero",
    "publisher": "mblode",
    "version": "0.1.9"
  },
  {
    "metadata": {
      "id": "403b9edb-ddb3-45a4-875e-043dafb3c644",
      "publisherId": "bnavetta.zoterolatex",
      "publisherDisplayName": "bnavetta"
    },
    "name": "zoterolatex",
    "publisher": "bnavetta",
    "version": "0.4.1"
  }
]
Mon-ius commented 4 years ago

And it looks caused by workbench.desktop.main.js:266


        define(e[301], t([0, 1, 7]), (function(e, t, i) {
            "use strict";
            function n(e) {
                const t = [];
                let i;
                try {
                    const n = JSON.parse(e.arguments)
                      , o = n[n.length - 1];
                    o && o.__$stack && (n.pop(),
                    i = o.__$stack),
                    t.push(...n)
                } catch (i) {
                    t.push("Unable to log remote console arguments", e.arguments)
                }
                return {
                    args: t,
                    stack: i
                }
            }
            function o(e) {
                if (!e)
                    return e;
                const t = e.indexOf("\n");
                return -1 === t ? e : e.substring(0, t)
            }
            function s(e) {
                return `color: ${e}`
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }),
            t.log = t.getFirstFrame = t.parse = t.isRemoteConsoleLog = void 0,
            t.isRemoteConsoleLog = function(e) {
                const t = e;
                return t && "string" == typeof t.type && "string" == typeof t.severity
            }
            ,
            t.parse = n,
            t.getFirstFrame = function e(t) {
                if ("string" != typeof t)
                    return e(n(t).stack);
                if (t) {
                    const e = o(t)
                      , n = /at [^\/]*((?:(?:[a-zA-Z]+:)|(?:[\/])|(?:\\\\))(?:.+)):(\d+):(\d+)/.exec(e || "");
                    if (n && 4 === n.length)
                        return {
                            uri: i.URI.file(n[1]),
                            line: Number(n[2]),
                            column: Number(n[3])
                        }
                }
            }
            ,
            t.log = function(e, t) {
                const {args: i, stack: r} = n(e)
                  , a = "string" == typeof i[0] && 1 === i.length;
                let l = o(r);
                l && (l = `(${l.trim()})`);
                let c = [];
                if (c = "string" == typeof i[0] ? l && a ? [`%c[${t}] %c${i[0]} %c${l}`, s("blue"), s(""), s("grey")] : [`%c[${t}] %c${i[0]}`, s("blue"), s(""), ...i.slice(1)] : [`%c[${t}]%`, s("blue"), ...i],
                l && !a && c.push(l),
                "function" != typeof console[e.severity])
                    throw new Error("Unknown console method");
                console[e.severity].apply(console, c)
            }
        }
        )),

console[e.severity].apply(console, c) caused the problem

deepak1556 commented 4 years ago

console[e.severity].apply(console, c) caused the problem

why do you think this caused the jank ? did performance profile reveal it ?

Actually I was going to suggest you to do the same, since the jank is caused my JS execution you can take a performance profile by devtools > performance tab. Start recording and perform actions that show the delay. If you can attach the profile we can suggest which call is expensive and you could narrow the problematic extension with it.

Unfortunately I can't spend time in debugging the individual extension from the list https://github.com/microsoft/vscode/issues/103068#issuecomment-665383819

deepak1556 commented 4 years ago

looping in @alexdima incase he has additional thoughts for debugging.

Mon-ius commented 4 years ago

console[e.severity].apply(console, c) caused the problem

why do you think this caused the jank ? did performance profile reveal it ?

Actually I was going to suggest you to do the same, since the jank is caused my JS execution you can take a performance profile by devtools > performance tab. Start recording and perform actions that show the delay. If you can attach the profile we can suggest which call is expensive and you could narrow the problematic extension with it.

Unfortunately I can't spend time in debugging the individual extension from the list #103068 (comment)

Not my thought, I follow the debugger. Then traced it.

alexdima commented 4 years ago

@Mon-ius A CPU profile of the renderer process might be revealing.

To get a CPU profile of the renderer process:

kapture 2017-10-21 at 13 02 25

Mon-ius commented 4 years ago

cpuprofile

alexdima commented 4 years ago

I didn't see anything peculiar, except perhaps some unusual amount of time spent in parsing snippets (FYI @jrieken), but 80ms should not cause any major performance problems:

image

alexdima commented 4 years ago

@Mon-ius

Could you please try closing all instances of vscode and using code --disable-renderer-accessibility? Does the slowness reproduce?

How about closing all instances of vscode and using code --disable-extensions? Does the slowness reproduce?

Mon-ius commented 4 years ago

@Mon-ius

Could you please try closing all instances of vscode and using code --disable-renderer-accessibility? Does the slowness reproduce?

How about closing all instances of vscode and using code --disable-extensions? Does the slowness reproduce?

Tried code --disable-renderer-accessibility, it shows

Warning: 'disable-renderer-accessibility' is not in the list of known options, but still passed to Electron/Chromium.

And still the same error.

Once tried code --disable-extensions. Not the same error, but ERR No application in the Launch Services database matches the input criteria.: Error: No application in the Launch Services database matches the input criteria. on

alexdima commented 4 years ago

@Mon-ius You can ignore the warnings and that specific error. The question remains, is vscode slow for you after disabling all extensions?

Mon-ius commented 4 years ago

Don't think if that warning or errors matters for normal operations. Just curious what kind of codes causes such things as I described at workbench.desktop.main.js:266. It actually caused by some extensions. And it happens after I update the vscode someday. After that, I found the performance problem and I created the issue.

alexdima commented 4 years ago

@Mon-ius That is what we call a red herring. The error or warning message on startup has 0 to do with the slowness you are experiencing. So far, we have not made any progress in determining what causes the slowness on your machine.

Have you been successful in closing all vscode instances and launching code --disable-renderer-accessibility? Is there a noticeable improvement? I am asking because we have https://github.com/microsoft/vscode/issues/107016 which appears to be exactly the same issue as this one. We just need that you please confirm if code --disable-renderer-accessibility improves the performance for you or not?

Mon-ius commented 4 years ago

No, code --disable-renderer-accessibility doesn't even work on my machine. And the original errors that happen at workbench.desktop.main.js:266 still there. And I checked #107016, it looks only work on WIN10 machine. However, my machine is OSX 10.15.7.

alexdima commented 4 years ago

:+1: You're right, that is only confirmed on Windows.

I have looked again at your extensions list and noticed CoenraadS.bracket-pair-colorizer. I believe that extension is no longer maintained and suffers from a lot of performance problems. I've also noticed that you have a grand total of 87 extensions that cover a wide range of frameworks and programming languages, from java, python, vue, latex, r, go, C++, dart and maybe I've missed a couple. Could you please try to go over your installed extensions and disable some of the ones that you are currently not using to narrow down the problem?

If you can consistently reproduce the slowness, there is a new command called Help: Start Extension Bisect... which will disable half the extensions, ask you if you can still reproduce, then narrow down on either half depending on your answer. This command might be helpful in identifying which extension is the root cause of your slowness.

Mon-ius commented 4 years ago

Tried to disable CoenraadS.bracket-pair-colorizer, it's clear. And still shows the same problem.

Mon-ius commented 4 years ago

I tried to think about why this problem still not being solved. Maybe you should upgrade the debug/ develop tools to track which extension caused such a problem. Instead of tried to closing extensions. It is not a wise way, and a little bit stupid.

alexdima commented 4 years ago

@Mon-ius I am sorry, but I cannot help you further.