PointCloud rendering performance a lot worse for opaque rendering than transparent
- Dominant language
- JavaScript
- Stars
- 15.7k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
The performance of rendering 3D tilesets (point clouds) is much better when rendering with a transparent style compared to opaque. In my case it was especially apparent with multiple point clouds rendered at the same position with a lot of overlap. (Use case: multitemporal point clouds).
My machine is a 2016 MacBook Pro with a 2GHz i5, 8 GB RAM and an integrated Intel Iris 540 graphics card with 1.5GB VRAM.
I could reproduce it in a sandcastle on Cesium 1.75. I basically added the point cloud 50 times to make performance critical on my machine. You can switch between opaque and transparent with the `transparent` variable.
https://sandcastle.cesium.com/#c=dVTbbts4EP2VgVugMuqlJEuylNYNGrgINkCCGHZ2+6IXWhrHbCnSJSlnvUX+fYeS3bXTVg8iObczc2bIMJxroRzMpG5rWO1hbvSawRwdGriSEtUIZlq2zUpw+EuJHRor3B4WeqWdqCzc8hWDZcWVEurRB7iS+IWr2mh4MLqqtBRAR7jjDgXMhK64kQJZqXbcwE7gEwF9AIVPMEMr2ob93cmCclB155lWjguFphyM4HupACg1QxLKdCdqNO+OjpVBAvmsjawfepNgOCrV8/B9qXo4JyRadOd4/ZJ8euiVQYfRGvkj7o1WC7S6NRWytdHNlSWzmzqIJ+k4foFg3V7i/eoLVh7FhyIGNOVYDhrxT/D6++z+9n7xPOrFwZtX1933ZgQRi4bdPx6WA4p5HvL3KS+9OjjB7ZMJQ5htuHpEcBthwWmwiLBFs9am4apCqMV6jQZpW6pKK+vAGa7slpPMJ+9Mi8dQN8qTazH8hP0GFI0EdU6vj6Ra4NRtU/sxILQ98UVFNtvWT9IJbqloF/jCBIFE72mZQubXt2+HHWP9UDBboUK2NaIRjubOMl7XwQHM1whiHZxkPDwMR2/Ajqx1q7d+Jk47Sk+jG/zWonULVDRId7rG/+s+s6tx1T4uN/rp2vAG7RzNEomz+pSmM4eKzAxnlIkf536makISijuh1buzbnLjaMdVEngzgDSN4jxN2SRN4zRL4nTUy8fjLMpilsZRXlzEcZSND4o0u8jSccSSPM2LNE0SLx52Sm0EkfMz6J/IfavmwlWbhZbyAJ0R6CRPkiLKouQiz/IDwh8RG+eTSZTHWVIkF0UxOSgmbFzElEuRZ2kURUV2hD5cisFoMO16cNnbA3wUzVYb569YwFjosNlKurc2XLXVV+pcZW3XXvqm4anrtBY7EPWHX7wMUEluLWnWrZRL8S+Wg8tpSPY/uUrd1X1PD5nke2+2iS9veyFjbBrS8deeTmu54uZF5P8A
Contributor guide
Research direction
Start with the linked Cesium 1.75 Sandcastle reproduction and inspect the code around the `transparent` variable and the repeated point-cloud tilesets. Compare opaque and transparent rendering on the reported overlapping point-cloud case; done means the opaque path no longer has the reported performance disadvantage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- computer-graphics, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100