diff options
author | Sven Göthel <[email protected]> | 2024-01-22 06:35:25 +0100 |
---|---|---|
committer | Sven Göthel <[email protected]> | 2024-01-22 06:35:25 +0100 |
commit | 5f9fb7159fa33bc979e5050d384b6939658049bd (patch) | |
tree | 09bdadf5c05ad007435a6f97a6153fa22702cfc6 /doxygen | |
parent | bf096870c73898963558bef5c9d75760f9f76290 (diff) |
Bug 1489 - GraphUI Group: Resolve Performance Regression in Scene.pickShape(): Drop invisible and clipped shapes
After implementing Bug 1487 (Frustum Clipping/Culling) and using thousands of shapes within one Group mostly culled (outside of frustum),
overall mouse Scene.pickShape() caused tremendous lagging.
This is caused by Scene.pickShape() traversing through _all_ shapes,
rendered ones, invisible ones and culled ones.
+++
Solution is to have Scene and Group provide a pre-sorted list
of actually rendered shapes, i.e. isVisible() and not culled.
Scene.pickShape() can now use this reduced and pre-sorted list
reducing the load considerably.
+++
Further
- cleanup TreeTool
- rename Container methods:
-- setFrustumCullingEnabled() -> setPMvCullingEnabled()
-- isFrustumCullingEnabled() -> isPMvCullingEnabled()
- supply Container with
-- isCullingEnabled()
-- List<Shape> getRenderedShapes()
-- isOutside()
-- isOutside2()
-- forAllRendered()
Diffstat (limited to 'doxygen')
0 files changed, 0 insertions, 0 deletions