You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As of b6e2761 we build block meshes asynchronously (not only in one stage of rendering one frame). This is already a great improvement in throughput, but we'd like to do the same for chunk meshes, using the same job queue system. This requires more work:
The inputs to SpaceMesh::compute() need to be able to be owned by the chunk mesh jobs rather than borrowed:
Avoid having the Space borrowed, by copying the needed data into a structure.
Make the VersionedBlockMeshes data available in some shareable form. (This raises interesting questions about letting the chunk jobs use the very latest results of block mesh jobs.)
Generalize the job queue to have both kinds of jobs.
Maybe: Merge block mesh updates and chunk mesh updates into one phase of execution instead of two. This is a maybe because it might be tricky to get usefully non-stale chunks out of this — I'm not sure.
The text was updated successfully, but these errors were encountered:
Another potential strategy is to build parts of individual chunk meshes in parallel with rayon. SpaceMesh is not quite amenable to efficient parallel accumulation, because vertex indices must be remapped appropriately in the final mesh, but it still might be a win since vertices are significantly more expensive than indices, and iterating over empty space can be freely done in parallel.
As of b6e2761 we build block meshes asynchronously (not only in one stage of rendering one frame). This is already a great improvement in throughput, but we'd like to do the same for chunk meshes, using the same job queue system. This requires more work:
SpaceMesh::compute()
need to be able to be owned by the chunk mesh jobs rather than borrowed:Space
borrowed, by copying the needed data into a structure.VersionedBlockMeshes
data available in some shareable form. (This raises interesting questions about letting the chunk jobs use the very latest results of block mesh jobs.)The text was updated successfully, but these errors were encountered: