improve performance around category highlighting (#849)

* remove function call and add comment

* separate crossfilter size calc into memoized function
This commit is contained in:
Severiano Badajoz
2019-07-15 16:00:23 -07:00
committed by GitHub
parent e199b14259
commit 3d6bb88556
2 changed files with 17 additions and 4 deletions
+15 -2
View File
@@ -52,16 +52,27 @@ class Graph extends React.Component {
return colors;
});
computePointSizesFromCrossfilter = memoize((len, crossfilter) => {
const sizes = new Float32Array(len);
crossfilter.fillByIsSelected(sizes, 4, 0.2);
return sizes;
});
computePointSizes = memoize(
(len, crossfilter, metadataField, categoryField) => {
/*
compute webgl dot size for each point
*/
const sizes = new Float32Array(len);
crossfilter.fillByIsSelected(sizes, 4, 0.2);
const selectionSizes = this.computePointSizesFromCrossfilter(
len,
crossfilter
);
let sizes;
if (metadataField && categoryField) {
sizes = selectionSizes.slice();
const valuesArr = crossfilter.data.col(metadataField).asArray();
for (let i = 0; i < len; i += 1) {
@@ -69,6 +80,8 @@ class Graph extends React.Component {
sizes[i] = 10;
}
}
} else {
sizes = selectionSizes;
}
return sizes;
}