Skip to content

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

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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