Bug Fix

Resolved Dashboard Widget Loading Delays

Users should now experience consistent and fast widget loading across all supported platforms. If any related issues persist, please open a ticket with detailed logs for our development team.

January 4, 2025

What Was Wrong

The issue was traced to a bottleneck in the rendering pipeline for dashboard widgets. Specifically:

  1. A redundant data-fetching process in velox64/common/wldr25.dll caused duplicate queries to the database, leading to significant delays during data assembly.
  2. Inefficient memory allocation in ui/render_widget_core.cpp caused high memory usage during widget refresh cycles, particularly when handling real-time updates.
  3. A threading conflict in core/api/data_fetch_manager.py led to race conditions, delaying the aggregation of widget data.

Impact

The issue primarily affected users running Velocty on:

  • Windows: Versions impacted ranged from Windows 10 (20H2) to Windows 11 (23H2).
  • Linux: Systems with kernels between 5.10 and 6.1 experienced high CPU utilization.
  • macOS: Widgets loaded inconsistently on versions from macOS Big Sur (11.0) through Ventura (13.5).

Resolution

  • Optimized wldr25.dll to reduce redundant queries, cutting database fetch times by 40%.
  • Rewrote the render_widget_core.cpp memory management routines to ensure dynamic memory is allocated and freed efficiently.
  • Added mutex locking in data_fetch_manager.py to resolve threading conflicts.

Next Steps

  • Continuous performance monitoring for the affected modules.
  • Implementation of unit tests targeting widget rendering pipelines in the next release cycle.
  • Collaboration with QA to stress-test dashboard performance under high concurrency scenarios.