GPU aggregation layer integration
- Dominant language
- TypeScript
- Stars
- 12k
- Forks
- 2k
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 66
Description
**Problem**
Aggregation in grid and hexagon layer is currently executed on the CPU with javascript. It runs every time points position changed or size of the bin changes. This causes lag with large datasets
**Solution**
We will work with the deck.gl team to implement GPU accelerated grid layer. [RFC: GPU Aggregation enhancements](https://github.com/uber/deck.gl/issues/2084). `GPUGridAggregator` will use texture mapping to record aggregation results using multiple weights, and custom blend mode for each aggregation operation. It can use `Multiple Render Target` feature to perform single draw for aggregating multiple weights
__Limitation__
GPU Aggregation can only perform `MIN`, `MAX`, `SUM` and `MEAN` calculation. For other aggregation modes - `Median` and `Mode` we will fall back to CPU aggregation.
We also need to fall back to CPU aggregation for color domain calculation, since it is not possible to access GPU aggregation result from javascript.
We propose to use web worker to execute CPU aggregation in the background, avoid UI lagging, and notify the UI of its progress.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.