Skip to content

Performance issue: UI freezes when opening tab with 2500+ tracks #70

@TheDenison

Description

@TheDenison

What problem does this solve?

Description:
Opening a tab with a large number of tracks (2500+) causes significant UI lag and high CPU usage. The application becomes unresponsive for several seconds, which negatively impacts user experience.

Steps to reproduce:

  1. Open the application
  2. Open a tab in sidebar containing ~2500 tracks
  3. Wait for the list to render

Expected behavior:

  • UI remains responsive
  • Smooth scrolling
  • CPU usage stays within reasonable limits

Actual behavior:

  • UI freezes for a few seconds
  • Mouse movements are delayed
  • Scrolling is laggy
  • CPU usage spikes up to ~40%

Environment:
OS: Windows 10 22H2
CPU: i5-4690k
RAM: 16GB
App version: 1.3.5

Additional info:

  • Issue is reproducible consistently
  • Likely related to rendering large lists without virtualization

Priority: Medium / High

High CPU usage observed in renderer process (based on DevTools)

Image

Performance profile:
Attached Chrome DevTools performance recording (.json)

Trace-20260401T120829.zip

Proposed solution

Technical observations:

  • The list renders ~2500 items at once
  • High CPU usage observed in renderer process
  • Possible heavy main-thread blocking during render
  • Potential excessive re-renders of list items

Hypothesis:

  • Inefficient rendering strategy
  • Heavy synchronous processing on main thread
  • Possible IPC overhead when passing large datasets

Additional observation:
CPU usage drops significantly when the application window is minimized.

Implication:
This suggests that the performance issue is likely related to renderer activity (rendering, animations, or frequent UI updates), rather than background processing.

Possible causes:

  • Frequent re-renders or render loop
  • Heavy layout/paint due to large number of DOM nodes
  • Missing list virtualization
  • Active timers or polling logic throttled when app is minimized

Alternatives considered

No response

Platform relevance

Desktop only (Windows / macOS / Linux)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions