Change:
Issue Type: <bPerformance Issue</bEver since I got this M1 mac with apple silicon, any scrolling I do in VSCode is super choppy and laggy. To reproduce it on my machine I just need to open an editor with a scrollbar or a terminal with some history and scroll quickly up and down. VS Code version: Code 1.69.2 (, 2022-07-18T16:32:39.000Z) OS version: Darwin arm64 21.6.0 Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryProcess Info</summary</details<details<summaryWorkspace Info</summary</details<details<summaryExtensions (11)</summaryExtensionVersion ------ prettier-vscode9.5.0 go0.35.1 githd2.3.3 vscode-docker1.22.1 python2022.10.1 vscode-pylance2022.8.10 jupyter2022.6. jupyter-keymap1.0.0 jupyter-renderers1.0.9 vsliveshare1.0.5669 vscode-yaml1.9.1 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Can you do a performance profile in devtools (Help Toggle Developer Tools) and upload it here? !
Sure, attached.
Hey this issue might need further attention. you can help us out by closing this issue if the problem no longer exists, or adding more information.
There's an abnormal about of garbage collection in that profile which I've never seen before: !
what sort of monitor are you connected to? Could you also open devtools via the Help menu and run in the console? My guess is your font size is so large that the terminal's texture atlas is thrashing and redrawing all glyphs almost every frame.
Upstream issue tracking the texture cap problem:
This one can only be verified by the
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
I'll mark this issue as verified as part of . Please file a new issue if the bug continues to occur on the latest Stable and/or Insiders versions of VS Code.

Discussion:
"vscode-proxy-agent": "^0.12.0", "vscode-regexpp": "^3.1.0", "vscode-textmate": "7.0.1", <del> "xterm": "5.1.0-beta.49", "xterm-addon-canvas": "0.3.0-beta.23", </del> <ins> "xterm": "5.1.0-beta.61", "xterm-addon-canvas": "0.3.0-beta.26", </ins> "xterm-addon-search": "0.11.0-beta.7", "xterm-addon-serialize": "0.9.0-beta.3", <del> "xterm-addon-unicode11": "0.5.0-beta.1", "xterm-addon-webgl": "0.14.0-beta.32", "xterm-headless": "5.1.0-beta.49", </del> <ins> "xterm-addon-unicode11": "0.5.0-beta.5", "xterm-addon-webgl": "0.14.0-beta.38", "xterm-headless": "5.1.0-beta.61", </ins> "yauzl": "^2.9.2", "yazl": "^2.4.3" },

"tas-client-umd": "0.1.6", "vscode-oniguruma": "1.6.1", "vscode-textmate": "7.0.1", <del> "xterm": "5.1.0-beta.49", "xterm-addon-canvas": "0.3.0-beta.23", </del> <ins> "xterm": "5.1.0-beta.61", "xterm-addon-canvas": "0.3.0-beta.26", </ins> "xterm-addon-search": "0.11.0-beta.7", <del> "xterm-addon-unicode11": "0.5.0-beta.1", "xterm-addon-webgl": "0.14.0-beta.32" </del> <ins> "xterm-addon-unicode11": "0.5.0-beta.5", "xterm-addon-webgl": "0.14.0-beta.38" </ins> } }

resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-7.0.1.tgz#8118a32b02735dccd14f893b495fa5389ad7de79" integrity sha512-zQ5U/nuXAAMsh691FtV0wPz89nSkHbs+IQV8FDk+wew9BlSDhf4UmWGlWJfTR2Ti6xZv87Tj5fENzKf6Qk7aLw== <del> xterm-addon-canvas@0.3.0-beta.23: version "0.3.0-beta.23" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.3.0-beta.23.tgz#aa67f43114e0bd052311f3f88f842e85006e697f" integrity sha512-xFeuwK1ZuIl+5Go4ZesAWe+pToqjF0LSQfECia3tTZ0emkpzR3c+wU3vWoKPj71A7ZkgCVDmCGyLAWDpTSLgEQ== </del> <ins> xterm-addon-canvas@0.3.0-beta.26: version "0.3.0-beta.26" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.3.0-beta.26.tgz#8c5665477d168f0c075960d9d86ae21afb3000c4" integrity sha512-33Btfufs6u8YsU8jmLlQfmmqavKGvP5s4Clxwq+KTT5DIlYDmt0r8GKdBHrB0AwNZiFRXsbPQoLF2XkHnkpTEw== </ins> xterm-addon-search@0.11.0-beta.7: version "0.11.0-beta.7" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.11.0-beta.7.tgz#d90bcbe9e8f9238c18ba6145bd7ec2f8e3240052" integrity sha512-i/c774V0/Eon3BIFRsRR3OjKTnMGkccBo12yDkOa40tnAD4aa8FjspE3bxW/Hh1mUEhCSgBSLnMDlK/GwnUC+g== <del> xterm-addon-unicode11@0.5.0-beta.1: version "0.5.0-beta.1" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0-beta.1.tgz#8a9e9356018e082318abbe2be1f9599fcc6b46a2" integrity sha512-uAErX4gwhW6N524stLG6oZR3yBGgPnFmZ2Tv4vyYy7tcgDuHRoc22xYSCDgO1ohz1FLlOm8JGXRjXliwO9ic3A== </del> <ins> xterm-addon-unicode11@0.5.0-beta.5: version "0.5.0-beta.5" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0-beta.5.tgz#6992a6f56349e67b903201d52b1ad41ba3469d93" integrity sha512-MaqnU34WTHCUAo7moB4KhynGn03RckI0JJ8E/gXe96EzuCP6bVJIKSc5pc9iFeLF4BX1SuemOqIHYl2Q3u3NTA== </ins> <del> xterm-addon-webgl@0.14.0-beta.32: version "0.14.0-beta.32" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.14.0-beta.32.tgz#35d08d4a0b36434ea5746738987b0170f918a9e3" integrity sha512-FnD/LX0Obxu+Q3hdkVvStlGFCtp+jzKtV6lzF42Uvh5evbGA2SBO3BxWW26VhurtEN5Pf7Iyx8sJxcPVd/tPXw== </del> <ins> xterm-addon-webgl@0.14.0-beta.38: version "0.14.0-beta.38" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.14.0-beta.38.tgz#e1c6346a80aa3eca7d5e84b43bffc0cc5675c36e" integrity sha512-ThgAHdaqQJKZi4GrfElvvaFP3H1ANHEn1iRZ7LZYf+3Vk6hWysaLwNrb0dj/aKeXQuKYObhpPn16yZcmJkVYCQ== </ins> <del> xterm@5.1.0-beta.49: version "5.1.0-beta.49" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.1.0-beta.49.tgz#4c98e5580d690a57d5d055025abb5d0e8ab2f42c" integrity sha512-jUiJ4lBhHW7XzLPyXVzCwjljDEl5TJj9+fj677fwDb/La8qPov2R+ocjb1H/7j0sODxAV0Op2ftDCtz2JzbCvQ== </del> <ins> xterm@5.1.0-beta.61: version "5.1.0-beta.61" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.1.0-beta.61.tgz#1a433163bd222b8b06cfe18908f5a03bc1ca7b66" integrity sha512-EBYlNR2ATKLQJnG6v4z+P6DeYtMPNhO/6Z7WKFLq5WaxyP6q9adDSAOU+S2CrZlCxhvOH4WmZa2vSu2OacfvNQ== </ins>

resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= <del> xterm-addon-canvas@0.3.0-beta.23: version "0.3.0-beta.23" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.3.0-beta.23.tgz#aa67f43114e0bd052311f3f88f842e85006e697f" integrity sha512-xFeuwK1ZuIl+5Go4ZesAWe+pToqjF0LSQfECia3tTZ0emkpzR3c+wU3vWoKPj71A7ZkgCVDmCGyLAWDpTSLgEQ== </del> <ins> xterm-addon-canvas@0.3.0-beta.26: version "0.3.0-beta.26" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.3.0-beta.26.tgz#8c5665477d168f0c075960d9d86ae21afb3000c4" integrity sha512-33Btfufs6u8YsU8jmLlQfmmqavKGvP5s4Clxwq+KTT5DIlYDmt0r8GKdBHrB0AwNZiFRXsbPQoLF2XkHnkpTEw== </ins> xterm-addon-search@0.11.0-beta.7: version "0.11.0-beta.7"

resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.9.0-beta.3.tgz#bb4ed416db5748bcbe55a4b6d4c2151368fdae74" integrity sha512-LaFuowtdxNdeuLm+KmtsoR4mgPOLu/I9k0hlWXbzAd1okJhthwMH4Y6cuL0/pFk1AclP5s+L42glv8PV0GnVsg== <del> xterm-addon-unicode11@0.5.0-beta.1: version "0.5.0-beta.1" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0-beta.1.tgz#8a9e9356018e082318abbe2be1f9599fcc6b46a2" integrity sha512-uAErX4gwhW6N524stLG6oZR3yBGgPnFmZ2Tv4vyYy7tcgDuHRoc22xYSCDgO1ohz1FLlOm8JGXRjXliwO9ic3A== xterm-addon-webgl@0.14.0-beta.32: version "0.14.0-beta.32" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.14.0-beta.32.tgz#35d08d4a0b36434ea5746738987b0170f918a9e3" integrity sha512-FnD/LX0Obxu+Q3hdkVvStlGFCtp+jzKtV6lzF42Uvh5evbGA2SBO3BxWW26VhurtEN5Pf7Iyx8sJxcPVd/tPXw== xterm-headless@5.1.0-beta.49: version "5.1.0-beta.49" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.1.0-beta.49.tgz#c71793f7ba5ba3c403af5e5e9a7c5d89318b663d" integrity sha512-dDHteT5DMr/li8qbaZ6FvIuZEI6SZUjNeiOrVwr//Qo4s/k4K3dRD0YxoJJ3ml/nPoxnhYyDkf9viLgm1rgEhA== xterm@5.1.0-beta.49: version "5.1.0-beta.49" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.1.0-beta.49.tgz#4c98e5580d690a57d5d055025abb5d0e8ab2f42c" integrity sha512-jUiJ4lBhHW7XzLPyXVzCwjljDEl5TJj9+fj677fwDb/La8qPov2R+ocjb1H/7j0sODxAV0Op2ftDCtz2JzbCvQ== </del> <ins> xterm-addon-unicode11@0.5.0-beta.5: version "0.5.0-beta.5" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0-beta.5.tgz#6992a6f56349e67b903201d52b1ad41ba3469d93" integrity sha512-MaqnU34WTHCUAo7moB4KhynGn03RckI0JJ8E/gXe96EzuCP6bVJIKSc5pc9iFeLF4BX1SuemOqIHYl2Q3u3NTA== xterm-addon-webgl@0.14.0-beta.38: version "0.14.0-beta.38" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.14.0-beta.38.tgz#e1c6346a80aa3eca7d5e84b43bffc0cc5675c36e" integrity sha512-ThgAHdaqQJKZi4GrfElvvaFP3H1ANHEn1iRZ7LZYf+3Vk6hWysaLwNrb0dj/aKeXQuKYObhpPn16yZcmJkVYCQ== xterm-headless@5.1.0-beta.61: version "5.1.0-beta.61" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.1.0-beta.61.tgz#9a112e64d1cdc3dfce5198c868c20cab510675e5" integrity sha512-hJMaWP4N0kMzJp7jhexHSAzPtQZSw0aJY2xM6RF9AbA4bWry2T9sF427Iv9us9V1UP0bLDgUmD5HG2bdT7r0rw== xterm@5.1.0-beta.61: version "5.1.0-beta.61" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.1.0-beta.61.tgz#1a433163bd222b8b06cfe18908f5a03bc1ca7b66" integrity sha512-EBYlNR2ATKLQJnG6v4z+P6DeYtMPNhO/6Z7WKFLq5WaxyP6q9adDSAOU+S2CrZlCxhvOH4WmZa2vSu2OacfvNQ== </ins> yallist@^4.0.0: version "4.0.0"

import { TestLifecycleService } from 'vs/workbench/test/browser/workbenchTestServices'; import { ILifecycleService } from 'vs/workbench/services/lifecycle/common/lifecycle'; <del> class TestWebglAddon { </del> <ins> class TestWebglAddon implements WebglAddon { </ins> static shouldThrow = false; static isEnabled = false; readonly onChangeTextureAtlas = new Emitter().event as IEvent<HTMLCanvasElement>; <ins> readonly onAddTextureAtlasCanvas = new Emitter().event as IEvent<HTMLCanvasElement>; </ins> readonly onContextLoss = new Emitter().event as IEvent<void>; activate() { TestWebglAddon.isEnabled = !TestWebglAddon.shouldThrow;

dependencies: object-keys "~0.4.0" <del> xterm-addon-canvas@0.3.0-beta.23: version "0.3.0-beta.23" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.3.0-beta.23.tgz#aa67f43114e0bd052311f3f88f842e85006e697f" integrity sha512-xFeuwK1ZuIl+5Go4ZesAWe+pToqjF0LSQfECia3tTZ0emkpzR3c+wU3vWoKPj71A7ZkgCVDmCGyLAWDpTSLgEQ== </del> <ins> xterm-addon-canvas@0.3.0-beta.26: version "0.3.0-beta.26" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.3.0-beta.26.tgz#8c5665477d168f0c075960d9d86ae21afb3000c4" integrity sha512-33Btfufs6u8YsU8jmLlQfmmqavKGvP5s4Clxwq+KTT5DIlYDmt0r8GKdBHrB0AwNZiFRXsbPQoLF2XkHnkpTEw== </ins> xterm-addon-search@0.11.0-beta.7: version "0.11.0-beta.7"

resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.9.0-beta.3.tgz#bb4ed416db5748bcbe55a4b6d4c2151368fdae74" integrity sha512-LaFuowtdxNdeuLm+KmtsoR4mgPOLu/I9k0hlWXbzAd1okJhthwMH4Y6cuL0/pFk1AclP5s+L42glv8PV0GnVsg== <del> xterm-addon-unicode11@0.5.0-beta.1: version "0.5.0-beta.1" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0-beta.1.tgz#8a9e9356018e082318abbe2be1f9599fcc6b46a2" integrity sha512-uAErX4gwhW6N524stLG6oZR3yBGgPnFmZ2Tv4vyYy7tcgDuHRoc22xYSCDgO1ohz1FLlOm8JGXRjXliwO9ic3A== xterm-addon-webgl@0.14.0-beta.32: version "0.14.0-beta.32" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.14.0-beta.32.tgz#35d08d4a0b36434ea5746738987b0170f918a9e3" integrity sha512-FnD/LX0Obxu+Q3hdkVvStlGFCtp+jzKtV6lzF42Uvh5evbGA2SBO3BxWW26VhurtEN5Pf7Iyx8sJxcPVd/tPXw== xterm-headless@5.1.0-beta.49: version "5.1.0-beta.49" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.1.0-beta.49.tgz#c71793f7ba5ba3c403af5e5e9a7c5d89318b663d" integrity sha512-dDHteT5DMr/li8qbaZ6FvIuZEI6SZUjNeiOrVwr//Qo4s/k4K3dRD0YxoJJ3ml/nPoxnhYyDkf9viLgm1rgEhA== xterm@5.1.0-beta.49: version "5.1.0-beta.49" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.1.0-beta.49.tgz#4c98e5580d690a57d5d055025abb5d0e8ab2f42c" integrity sha512-jUiJ4lBhHW7XzLPyXVzCwjljDEl5TJj9+fj677fwDb/La8qPov2R+ocjb1H/7j0sODxAV0Op2ftDCtz2JzbCvQ== </del> <ins> xterm-addon-unicode11@0.5.0-beta.5: version "0.5.0-beta.5" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0-beta.5.tgz#6992a6f56349e67b903201d52b1ad41ba3469d93" integrity sha512-MaqnU34WTHCUAo7moB4KhynGn03RckI0JJ8E/gXe96EzuCP6bVJIKSc5pc9iFeLF4BX1SuemOqIHYl2Q3u3NTA== xterm-addon-webgl@0.14.0-beta.38: version "0.14.0-beta.38" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.14.0-beta.38.tgz#e1c6346a80aa3eca7d5e84b43bffc0cc5675c36e" integrity sha512-ThgAHdaqQJKZi4GrfElvvaFP3H1ANHEn1iRZ7LZYf+3Vk6hWysaLwNrb0dj/aKeXQuKYObhpPn16yZcmJkVYCQ== xterm-headless@5.1.0-beta.61: version "5.1.0-beta.61" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.1.0-beta.61.tgz#9a112e64d1cdc3dfce5198c868c20cab510675e5" integrity sha512-hJMaWP4N0kMzJp7jhexHSAzPtQZSw0aJY2xM6RF9AbA4bWry2T9sF427Iv9us9V1UP0bLDgUmD5HG2bdT7r0rw== xterm@5.1.0-beta.61: version "5.1.0-beta.61" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.1.0-beta.61.tgz#1a433163bd222b8b06cfe18908f5a03bc1ca7b66" integrity sha512-EBYlNR2ATKLQJnG6v4z+P6DeYtMPNhO/6Z7WKFLq5WaxyP6q9adDSAOU+S2CrZlCxhvOH4WmZa2vSu2OacfvNQ== </ins> y18n@^3.2.1: version "3.2.2"