Hotfix Table Optimization Part 2 #399
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
DO NOT MERGE until after pilot is over!!!
Merge #398 before this!!!
To continue to improve performance on older Chromebooks...
FILTER_SUMMARY_UPDATE
andFILTEREDNCDATA
UDATA updates were resulting in NCNodeTable and NCEdgeTable rendering twice. This is most visible when typing in search terms with either table open.This fix reduces search input changes to a single state update.
FILTER_SUMMARY_UPDATE
calls were combined withFILTEREDNCDATA
so there is a single UDATA message/state update.FILTEREDNCDATA
would not trigger a second render with the child NCNodeTable and NCEdgeTable components.HumanDate
andHumanDateShort
rendering onURTable
is very sluggish on a slow Chromebook. e.g. it was taking 1356ms eating 18.5% of the rendering time with 82 nodes. Cache the rendered date so it doesn't have to be constructed with each render. 424299cFurther optimizations might be hard to come by. Search input changes render quite quickly in the graph. The culprit is table rendering itself rather than repeated state updates.
Addresses #396.