CesiumGS / cesium

An open-source JavaScript library for world-class 3D globes and maps :earth_americas:
https://cesium.com/cesiumjs/
Apache License 2.0
12.48k stars 3.39k forks source link

Voxel rendering performance #11086

Open jjhembd opened 1 year ago

jjhembd commented 1 year ago

In our current voxel implementation, frame rates can be low (~20 FPS) when rendering a large voxel dataset in a full-screen view.

We know that the fragment shader is the bottleneck, because:

Within the fragment shader, a few candidate bottlenecks include:

Testing solutions for any of the above is not trivial, so we should start with some simple tests to confirm which one is the real bottleneck. Here are some preliminary ideas to test:

ggetz commented 1 year ago

One short-term fix could be to apply a resolutionScale property to VoxelPrimitive to scale down the resources needed to render voxels on mid to lower-end devices while not affecting the rest of the scene.