Skip to content
This repository has been archived by the owner on Mar 24, 2024. It is now read-only.

Revamp of pipeline for generating plots #6584

Merged
merged 52 commits into from Sep 1, 2023

Conversation

cfoust
Copy link
Contributor

@cfoust cfoust commented Aug 3, 2023

User-Facing Changes
Move all aspects of generating data for plot panels to a Web Worker and reduce plot generation memory usage.

Description
This diff is really scary, but it's divided up into two main sections:

  • 70% is related to adding support for Float32Array-backed datasets to our charting components (namely: Chart and TimeBasedChart). This greatly reduces the memory overhead of plots with lots of data points.
  • 30% is moving all dataset generation and downsampling to a Web Worker

@cfoust cfoust changed the title [WIP] Move plot panel data pipeline to worker [WIP] Revamp of pipeline for generating plots Aug 11, 2023
@cfoust cfoust merged commit 950a433 into main Sep 1, 2023
14 checks passed
@cfoust cfoust deleted the caleb/31-07-23/feat/plot-data-optimize branch September 1, 2023 19:29
jtbandes added a commit that referenced this pull request Sep 7, 2023
**User-Facing Changes**
None

**Description**
Since #6584 added Ramda with `R.*` imports, to improve consistency and
avoid confusion we can use `_.` for all lodash imports.

This adds a new lint rule within the repo to enforce this import style
(which supports auto-fixing).

Since using `import * as _ from "lodash"` increased the bundle size,
I've also changed us over to `lodash-es` which results in a net
_decrease_ in bundle size.

Relates to FG-4805

- [Before
(8af796f)](https://github.com/foxglove/studio/actions/runs/6097415144/job/16545007074):
`Total production build size: 131998171 bytes`
-
[After](https://github.com/foxglove/studio/actions/runs/6101498121/job/16557952926?pr=6756):
`Total production build size: 130341402 bytes `
- Difference: 130341402 - 131998171 = -1,656,769bytes
foxymiles added a commit that referenced this pull request Sep 13, 2023
**User-Facing Changes**
Brighten plot points in dark mode.

**Description**
Fix the logic to brighten plot points when the dark theme is in use. 

This was inadvertently lost in the performance work in
#6584.
cfoust added a commit that referenced this pull request Oct 16, 2023
**User-Facing Changes**
Fix where the state transition panel showed incorrect bounds after
loading data.

**Description**
The code that decided when to update a chart's bounds was incorrect,
which led to some issues.

Regressed in #6584
Fixes #6843
pezy pushed a commit to pezy/studio that referenced this pull request Oct 25, 2023
**User-Facing Changes**
Brighten plot points in dark mode.

**Description**
Fix the logic to brighten plot points when the dark theme is in use. 

This was inadvertently lost in the performance work in
foxglove#6584.
pezy pushed a commit to pezy/studio that referenced this pull request Oct 25, 2023
**User-Facing Changes**
Fix where the state transition panel showed incorrect bounds after
loading data.

**Description**
The code that decided when to update a chart's bounds was incorrect,
which led to some issues.

Regressed in foxglove#6584
Fixes foxglove#6843
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants