Skip to content

Smooth caret animation lags and overlaps text when typing fast #295648

@NicolasVitorP

Description

@NicolasVitorP

Type: Bug

Description of the Issue

There is a noticeable synchronization lag between character rendering and the cursor's visual position. This is especially prominent when the following settings are enabled:

  • "editor.cursorSmoothCaretAnimation": "on"
  • "editor.cursorBlinking": "expand"

While the editor renders characters instantly, the cursor follows a fixed-duration sliding and expansion animation. During fast typing, this causes a "clipping" effect:

  1. Physical Overlap: The cursor bar physically passes through the body of the letters because it is still animating toward the new position while the next character has already appeared.
  2. Visual Obstruction: Since the blinking is set to "expand", the visual footprint of the cursor is larger during the transition, causing it to overlap and obscure the newly typed characters even more.
  3. Input Lag Sensation: This creates a distracting visual flicker and makes the UI feel "heavy" or out of sync with the user's actual typing speed.

Steps to Reproduce

  1. Open settings and set "editor.cursorSmoothCaretAnimation": "on".
  2. Set "editor.cursorBlinking": "expand".
  3. Type at a fast, sustained pace.
  4. Observe the cursor "cutting" through the characters.

Expected Behavior

The cursor animation should be dynamic. If a new character is typed before the previous animation finished, the cursor should either:

  • Accelerate to the new position instantly.
  • Cancel/Skip the current animation to ensure the bar never overlaps or stays behind the rendered text.

Technical Context

Setting Configuration
Animation cursorSmoothCaretAnimation: "on"
Blinking Style cursorBlinking: "expand"
Issue Type Visual Desync / UI Lag

VS Code version: Code 1.109.4 (c3a2684, 2026-02-16T15:35:57.932Z)
OS version: Windows_NT x64 10.0.26200
Modes:

System Info
Item Value
CPUs AMD Ryzen 5 5500U with Radeon Graphics (12 x 2096)
GPU Status 2d_canvas: enabled
GPU0: VENDOR= 0x1002, DEVICE=0x164c [AMD Radeon(TM) Graphics], DRIVER_VENDOR=AMD, DRIVER_VERSION=30.0.13014.8 ACTIVE
GPU1: VENDOR= 0x1414, DEVICE=0x008c [Microsoft Basic Render Driver], DRIVER_VERSION=10.0.26100.7309
Machine model name:
Machine model version:
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
Load (avg) undefined
Memory (System) 15.39GB (7.68GB free)
Process Argv --crash-reporter-id b1f76865-a5aa-4112-9605-a426f5e77887
Screen Reader no
VM 0%
Extensions (14)
Extension Author (truncated) Version
codesnap adp 1.3.4
path-intellisense chr 2.10.0
gitlens eam 17.10.0
vscode-html-css ecm 2.0.14
EditorConfig Edi 0.18.1
prettier-vscode esb 12.3.0
auto-rename-tag for 0.1.10
code-runner for 0.12.2
fluent-icons mig 0.0.19
vscode-language-pack-pt-BR MS- 1.108.2026021109
color-highlight nau 2.8.0
LiveServer rit 5.7.9
charmmono-theme sum 0.3.1
errorlens use 3.28.0

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
pythonvspyt551:31249599
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
6518g693:31436602
aj953862:31281341
6abeh943:31336334
cloudbuttont:31379625
3efgi100_wstrepl:31403338
use-responses-api:31390855
ec5jj548:31422691
cp_cls_t_966_ss:31454198
4je02754:31458170
find_all_ref_in_bg_t:31453034
a5gib710:31434435
7a04d226_do_not_restore_last_panel_session:31438103
406hc587_ask_agent:31428393
cp_cls_c_1081:31454833
a43f0575b:31442825
e9c30283:31461165
edit_mode_hidden:31461530
864ei723_large_tool_results_to_disk:31460878
notips:31457203
ei9d7968:31458072
chat:31457767

Metadata

Metadata

Assignees

Labels

editor-coreEditor basic functionalityfeature-requestRequest for new features or functionality

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions