CesiumGS / CesiumGS/cesium

PointCloud rendering performance a lot worse for opaque rendering than transparent

Open
#9,239 2 comments 0 reactions 0 assignees View on GitHub
category - 3d tiles
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.