Skip to content

Scrolling though images in .ipynb files is heavy and slow #16608

Open
@peczyk22

Description

@peczyk22

Environment data

  • VS Code version: 1.99.3 (Universal)
  • Jupyter Extension version (available under the Extensions sidebar): 2025.3.0
  • Python Extension version (available under the Extensions sidebar): 2025.4.0
  • OS (Windows | Mac | Linux distro) and version: Mac | macOS Sonoma 14.7.4
  • Python and/or Anaconda version: 3.9.6
  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
  • Jupyter server running: Local

Expected behaviour

Scrolling through notebook cells (including ones with images) should feel consistent and smooth, with no noticeable delay or slowdown when reaching large image outputs.

Actual behaviour

When scrolling through .ipynb notebooks in VS Code on macOS using a touchpad, the scroll motion noticeably slows or sticks when passing output cells that contain images, but sometimes not only though images, but mainly through images (e.g., matplotlib plots or other rendered outputs). This happens even when images are small and occurs on multiple machines with very different hardware specs. It feels like the scroll is being artificially dampened near image outputs. I use MacBook Pro M1, 32 GB RAM and tried it too on other Macs' and the same thing is happening, it's only like that with using touchpad, mouse use makes the problem disappear. I tried different settings related to scrolling and rendering, nothing is helping.

Steps to reproduce:

  1. Open any .ipynb file in VS Code.

  2. Run a code cell that displays an image (e.g., matplotlib.pyplot.imshow(...) or IPython.display.Image(...))

  3. Try scrolling through the notebook using a MacBook touchpad.

  4. Observe the slowdown when passing image outputs.

  5. The file needs to have a few cells with actual content — the issue does not happen in minimal notebooks with only a few light cells. The slowdown is only noticeable in notebooks with more cells (e.g., some Markdown, plots, outputs, etc.).

  6. XXX

Logs

Output for Jupyter in the Output panel

XXX

Metadata

Metadata

Assignees

Labels

bugIssue identified by VS Code Team member as probable bugtriage-neededIssue needs to be triaged

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions