Adding an acceleration structure to CanvasLayout #219
Replies: 2 comments 1 reply
-
Thanks @djspider117, yes! We'd love It really started as a quick prototype to understand how well One of the main challenges we still see is some scrolling issues across platforms, they all behave a bit differently. So, I'm not sure if we have a gap in a proper implementation of a I think that'd be the first piece to solve to ensure we have a stable control to work off of. Do you have any expertise in this area? I was planning to reach out to someone on the platform team now that the repo is easily accessible to demonstrate the issue. Then it'd be great to optimize the storage of the data structure within the control itself for sure! |
Beta Was this translation helpful? Give feedback.
-
Thanks @michael-hawker for your quick reply! I'm gonna have a go just playing around and experimenting with an RTree just to see how it would gel. The implementation should be separate enough as to not matter what the underlying control is (be it layout, panel or whathave you) |
Beta Was this translation helpful? Give feedback.
-
I love the idea for having a virtualized canvas layout but the current implementation has a somewhat big inefficiency when scaling up to extremely large numbers of objects.
I think it would be a neat idea to have the canvas items (or more specifically their spatial representation) stored in a 2d acceleration structure (QuadTree for instance). The data should still be arbitrary with no forced interface requirement, so it would have to take the bounds as an additional parameter when adding the object in.
Rebalancing operations on the tree should also be supported to avoid getting back to a O(n) situation when querying the structure.
Another type of multi-dim indexing structure would be PH-Tree .
Beta Was this translation helpful? Give feedback.
All reactions