Optimize wireframe mode
Summary: I noticed a slow down when using key board controls as this would change the selection. this adds the optimization back when wireframe mode == All Reviewed By: antonk52 Differential Revision: D47949836 fbshipit-source-id: a08e5608c159d23b8a0afed419724c02231718d6
This commit is contained in:
committed by
Facebook GitHub Bot
parent
4e7ca39168
commit
9932d28b2f
@@ -248,11 +248,17 @@ export const Visualization2D: React.FC<
|
|||||||
const MemoedVisualizationNode2D = React.memo(
|
const MemoedVisualizationNode2D = React.memo(
|
||||||
Visualization2DNode,
|
Visualization2DNode,
|
||||||
(prev, next) => {
|
(prev, next) => {
|
||||||
return (
|
if (prev.node != next.node || prev.wireframeMode != next.wireframeMode) {
|
||||||
prev.node === next.node &&
|
return false;
|
||||||
prev.selectedNode === next.selectedNode &&
|
}
|
||||||
prev.wireframeMode === next.wireframeMode
|
if (next.wireframeMode == 'All') {
|
||||||
);
|
//if all wire frames are drawn and the root node is the same
|
||||||
|
//then we are safe
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
//with other modes the selected node affects the drawing
|
||||||
|
return prev.selectedNode === next.selectedNode;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -288,7 +294,7 @@ function Visualization2DNode({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const children = nestedChildren.map((child) => (
|
const children = nestedChildren.map((child) => (
|
||||||
<MemoedVisualizationNode2D
|
<Visualization2DNode
|
||||||
wireframeMode={wireframeMode}
|
wireframeMode={wireframeMode}
|
||||||
selectedNode={selectedNode}
|
selectedNode={selectedNode}
|
||||||
isSelectedOrChildOrSelected={isSelected || isSelectedOrChildOrSelected}
|
isSelectedOrChildOrSelected={isSelected || isSelectedOrChildOrSelected}
|
||||||
|
|||||||
Reference in New Issue
Block a user