Skip to content

Scrolling lag on M1 Pro Max #192027

Description

Type: Bug

  1. Open text file (HTML, etc.).
  2. Scroll using the trackpad -- keep your fingers on it (no inertia).
  3. Notice the scroll lagging so badly it slows to 1 FPS or so.

Expected results: smooth scrolling.

Note: Opening a file with word wrapping makes the issue far worse.

VS Code version: Code 1.81.1 (6c3e3db, 2023-08-09T22:40:25.698Z)
OS version: Darwin arm64 22.6.0
Modes:

System Info
Item Value
CPUs Apple M1 Max (10 x 24)
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
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
Load (avg) 2, 2, 2
Memory (System) 32.00GB (1.20GB free)
Process Argv --crash-reporter-id bb8f29d5-8631-4571-84a5-eb72eadd2676
Screen Reader no
VM 0%
Extensions (7)
Extension Author (truncated) Version
cpptools ms- 1.17.5
sublime-keybindings ms- 4.0.10
savebackup pur 0.0.4
code-spell-checker str 2.20.5
vscode-icons vsc 12.5.0
vscode-todo-highlight way 1.0.5
material-theme zhu 3.16.0

Screencast

vscode-scrolling-lag-bug-720.mov

Notice the extreme lag on that relatively small HTML file. Now, here is the interesting bit. If I scroll with inertia (push the trackpad then release my fingers so the scroll coasts and glides to a stop), it's perfectly smooth. Shown here:

vscode-smooth-scrolling-with-inertia.mov

So, the issue only occurs when I scroll while holding my fingers on the trackpad, i.e. preventing inertia scroll.

Performance Profile Recording

Here is a profile I recorded while producing the scroll lag:

Profile-20230901T151227.json

It seems like the debugger thinks that VSCode is "idle" during the lag stalls.

Metadata

Metadata

Labels

info-neededIssue requires more information from poster

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions