Improve tree tab performance - #2492
Draft
vaisest wants to merge 3 commits into
Draft
Conversation
- Batch SG calls - Use strings for colours - Cull out of view connectors
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of the problem being solved:
This PR improves the tree rendering performance slightly. The changes include culling for out of view node connectors (nodes should probably be culled too), and general JITability improvements. The latter brings down my about 1080p small window far zoom view from 6.4 ms per frame (measured with socket.core.gettime() in Main.lua onframe) to 5.8 ms. There is probably some more room for this, since I didn't touch on node rendering much.
5.8 ms per frame on a 9800x3d/5080 still sounds like a lot. Ideas on how to improve this further are welcome. The tab is still quite slow on slower devices.
Steps taken to verify a working solution:
Link to a build that showcases this PR:
https://poe.ninja/poe2/pob/27ba8
Before screenshot:
After screenshot: