Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Point cloud performance degrades significantly when points are filtered out #12140

Closed
connormanning opened this issue Aug 20, 2024 · 3 comments
Closed

Comments

@connormanning
Copy link
Contributor

connormanning commented Aug 20, 2024

What happened?

When a point cloud show filter is applied, specifically when many points are filtered out, the rendering performance degrades very significantly. The responsiveness of Cesium itself slows to a crawl, and actually my whole machine starts to lag as well - to the point where I need to close my example tab before I can switch over to other applications smoothly.

Reproduction steps

Steps

  1. Display a 3D Tiles point cloud dataset in Cesium, which has a filterable attribute (for example Classification)
  2. Filter out a significant portion of the points by setting a show.conditions rule
  3. Pan the renderer and view the performance

Notes

The filter must hide a significant amount of points. For example, if there are a handful of points marked as Noise, filtering these points will not reproduce the issue. Real-world scenarios that filter a large percentage of points are very common, so this is not a contrived scenario. Some common/valuable scenarios:

  • Display only Ground points (filtering out Vegetation/Noise/Buildings/etc) - in an urban or below-the-jungle scenario this would filter out a large percentage of points
  • Display only a single custom Classification (for example display only Wires)
  • Display only Building points
  • Display only Withheld/Noise/Unclassified, or similar - viewing only points that are "exceptions" in some way

Sandcastle example

Base case

No filter applied, performs well

https://sandcastle.cesium.com/#c=hZINb9o4GMe/ii+aNCoxJ4Ry23W0GqMbDQO6jbQ7epkm4zwUD7/kbIcMpn732QRu5TRpiiK//Z73fxiigSbSoj4YVorhFBFKwRhkFdqoUiOmJCLGgDWZrBmcKIlzWJCS294OTtUKJDpHWQCb4XI+oOyaDZObbdKasMQk8mOH9pM/k1Xx921/+Bd20L/5YOWgpD25vInuxKwz7kedyeBDPEo/xONtYmfpTXzXb62u0148Fkk03nJxfUnZqD8s7pwzZ9caTytG48maDm63yddinoi3W+oDivxrwiO38mXu2HF6E43TXmeSzqKxjPDVLH27fNZ+cTrKy8vX8eSUtl2cj51PX55f9TYv4N18Mpy9v72qRlUWvMwkVdJYtGZQgXZVSqj23cK3u7tGFtDdua+kJUyCzoITZ2f1Bn3PJEK1A8s4uD46D6Qi7NBxXC/ty7R+xguthOtwz/c8yRvx8+i0E8XN2hNCgnxjohRTqgHktCAU3mit9BlqNT3w4AOjQyxs7IbDcc6P4039c2PvuVBM2inbwhlqN+srqrh3vQd2heTMOkmYM/TP4RK5bfDke587mbAFo8QDD+iP83MUZ0HTqWLnpvH03qf89CQLPjePbK0u4QgsmFztuAO23zzs7cxSVb/PKgzRJ2aXyC4BzYGrCnE3G1S6eQoB0kLePIIL0AulBZEUUMU4Rznca5LD2RH1u1oXhBv4Rer/Dcdv/F/rCRsKEnChmXAlrMFgkueN/fjqWdZq2eNbpUSqHgP+e0AuE7pEDfBaOPmpOsUBc3W/v3e0yyNoBt2dLi489YqJQmmLSs0bGIcWRMGJBRPOS7pyCqLGeLtueDDp5myNWH7+C9Ej6vviXhYl515JWXDRDR1/ZMYVyZm8v16D5mTjEJ9Gd9m6GNUPGONu6I4+6P9trVJ8TvQjvz8A

Comparison

Same as above, with filter applied: performance degrades. Warning: this may lag your machine until you close the tab

https://sandcastle.cesium.com/#c=jZKPb9o4FMf/FV80aVRiTgjltutodYxuNAzoNtLu6OU0GedRXPwjZztkMPV/n03gVk6T7hRFtp8/74ff+4YhGmgiLeqDYaUYThGhFIxBVqGNKjViSiJiDFiTyZrBiZI4hwUpue3t4FStQKJzlAWwGS7nA8qu2TC52SatCUtMIj91aD/5NVkVf9z2h79hB/2dD1YOStqTy5voTsw6437UmQw+xqP0YzzeJnaW3sR3/dbqOu3FY5FE4y0X15eUjfrD4s4Fc36t8bRiNJ6s6eB2mzwU80S821KfUOQPCY/cype5Y8fpTTROe51JOovGMsJXs/Td8kX71ekoLy/fxJNT2nZ5PnU+f3l51du8gvfzyXD24faqGlVZ8DqTVElj0ZpBBdq9UkK17xa+3dkaWUB3576SljAJOgtOnJ/VG/QtkwjVASzj4ProIpCKsEPHcb20L9P6Gi+0Eq7DPd/zJG/EL6PTThQ360gICfKViVJMqQaQ04JQeKu10meo1fTAo0+MDrmwsRsOxzU/zTf114195EIxaadsC2eo3axNVHEfeg/sHpIz6yRhztCfByNy2+DZtz53MmELRokHHtEv5+cozoKmU8UuTOP5vS/5+UkW/NU88rW6hCOwYHK14w7YfvO49zNLVf13VWGIPjO7RHYJaA5cVYi72aDSzVMIkBby5hFcgF4oLYikgCrGOcrhXpMczv7/QxeEG/hJ3f9Mxm/8X4sJGwoScKGZcPWvwWCS54397OpB1lLZ41ulRKqeAv57RK4SukQN8EI4+SE5xQFzdb+3O9rVETSD7k4UF576nYlCaYtKzRsYhxZEwYkFE85LunLyocZ4v254cOnmbI1Yfv4TxSPq++JuFiXnXkZZcNENHX/kxhXJmby/XoPmZOMQX0Z32boY1RcY427ojj7pv32tUnxO9JO43wE

Environment

Browser: both Firefox and Chrome
CesiumJS Version: 1.120
Operating System: macOS Sonoma 14.5

@connormanning
Copy link
Contributor Author

Edited to clarify the comparison between 2 sandbox links - one working as expected with no filter applied, and one displaying the issue with points filtered out.

@ggetz
Copy link
Contributor

ggetz commented Aug 28, 2024

Thanks for the report @connormanning.

Is this by any chance on a Mac Silicon chip? ie, M1, M2... If so, I believe this is a duplicate of #11270.

@ggetz ggetz added the needs feedback On hold until additional info is supplied label Aug 28, 2024
@connormanning
Copy link
Contributor Author

Yes, good find - and looks like there's some useful investigation in that ticket. I'll close this one as a duplicate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants