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

GPU memory is freed but CPU memory is not. Basically once a tile is created it is never destroyed, only its contents are destroyed #12049

Closed
anastasiya-liapko opened this issue Jun 26, 2024 · 1 comment

Comments

@anastasiya-liapko
Copy link

anastasiya-liapko commented Jun 26, 2024

What happened?

Hi!

We encountered an issue using a large tileset. The fact is that the tileset contains many tiles and the CPU memory occupied by the tiles is never freed and continues to grow until the limit is exceeded (in chrome jsHeapSizeLimit=4GB) and the application crashes.

We use external tilesets, so the memory will not fill up immediately, but after using the tileset for some time.

A possible solution is to delete tiles that are loaded but not currently in use in order to free up CPU memory. The same way that tile content is being deleted to free up GPU memory.

Relevant issues:

Reproduction steps

  1. Add tileset to viewer (screenshot 1)
  2. Move around the map
  3. You can see that the CPU memory grows and is never freed (screenshot 2)
  4. After using the map for a longer time and viewing several more cities in more detail, the memory occupied by tiles grew even more and continues to grow (screenshot 3)

Screenshot 1:
image

Screenshot 2:
image

Screenshot 3:
image

The issue can be reproduced on any tileset. Since I can't attach a company's tileset, I made a sandcastle example using GooglePhotorealistic3DTileset

Sandcastle example

https://sandcastle.cesium.com/#c=bZDBSsNAEIZfZQgeUpAN4k3TIlT0IigonnLodjOmg5OdsjtJqaXv7iZtUbR7m9n///gYJz4q9IQbDDAFjxuYY6SuNe/jLq8yN85z8WrJY6iyyW3lK69hC7vKA7gRocQYURPDbizpieICWsVHkYbxZSUqaWaKSu76/u1QyQceHB1MdOjRrAO1pNRjNLau8yN8CO7BWXUryDEECZMfBWE0LE2+eLApXYMKsNj6JHYDF7uxsl+MmOwyK6NuGWcDYHh31K4lKHSBc2MKxXbNyT0Wy859ohoX48EUoCx+V8uaeqB6euZU4NjGmH4+OuZX+sIqm5VFyv+rDq7km+ceA9vtEFtdzZ4OS2NMWaTxfFNFeGnDH/I3

Environment

Browser: All
CesiumJS Version: 1.118
Operating System: All

@ggetz
Copy link
Contributor

ggetz commented Jul 1, 2024

Thanks for the report @anastasiya-liapko! I would think this is a duplicate of #3453, and that this additional context should go there.

I'm going to close your issue to keep the discussion in one place. If you have any further input on this, please post it there instead.

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