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.
Pull Request Description
Text rendering accounts for most of the time spent opening a dropdown. The dropdown widget has been rendering its text twice: Once for the selected (bold) state of the text, and once for unselected. Deferring rendering of whichever version of each label is initially hidden halves the time for a dropdown to open.
Remove this eager rendering has the consequence that, when clicking on an item in a dropdown, 1-2 lines must be rendered to show the new selection state. I have not found the cost of this partial-redraw noticeable in my testing; it completes before we receive and react to the engine message that results from the graph change.
Before: 537.5ms to open the 6-item
Join_Kind
dropdown in OrdersAfter: 273.4ms to open the dropdown (50% improvement)
Important Notes
load-profile
interface as the run-graph renderer.Checklist
Please include the following checklist in your PR:
Scala,
Java,
and
Rust
style guides.
./run ide build
and./run ide watch
.