diff options
author | Christian Strømme <[email protected]> | 2025-04-30 15:36:43 +0200 |
---|---|---|
committer | Christian Strømme <[email protected]> | 2025-05-30 09:32:42 +0200 |
commit | f525940cd5432e4e40d6767a22ca881a175a4b91 (patch) | |
tree | 38cc59f87d3bed3cc0906ea09b8996235d659dc6 /src/quick3dparticles/qquick3dparticlecustomshape.cpp | |
parent | e98926608818498046dbc55ae561cbed87b6e126 (diff) |
Improves the collection of nodes and rendering data during the preparation
phase by:
- Only traversing and collecting nodes when the node tree changes.
- Assigning a unique ID to each node in the tree for fast access to its
associated rendering data.
- Having a single root node for the entire window. If there are multiple
views within a window, they all operate on their respective sections
of the tree.
- Storing rendering data separately which avoids collecting and copying
in addition to make it more feasibly to just uploading the data in bulk
when needed.
- Proper separation of data allows for the calculation of non-dependent
data in parallel, once the global state has been updated.
This is merely the initial step towards a more advanced storage solution.
However, some adjustments are still necessary to transition a significant
portion of the preparation phase to the GPU. Our somewhat contrived
benchmark demonstrates a 6x improvement, which is also applicable to the
worst case scenario when nodes are dynamically added.
Change-Id: I1dd12734f6a043ca8145cb1c667921bb664aa3db
Reviewed-by: Christian Strømme <[email protected]>
Diffstat (limited to 'src/quick3dparticles/qquick3dparticlecustomshape.cpp')
0 files changed, 0 insertions, 0 deletions