x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[Voxel]C++ ProceduralMeshComponent Memory Leak after being destroyed.

Hello. I'm having a pretty major problem with the Voxel engine I'm creating. After destroying an actor with a procedural mesh component attached, the memory used for the component's geometry/collision is not cleared, leading to a pretty major memory leak.

I managed to narrow down the problem to the UProceduralMeshComponent since disabling the:

 ProceduralMesh->CreateMeshSection(0, MeshVertices, IndexBuffer, Normals, UVs, VertexColors, Tangents, true);

seems to fix the leak.

The leak persists even after closing the "Play in New Window" window. Closing the level and reopening it seems to clear the leaked memory, leading me to believe that the ProceduralMesh is not properly removed from the level when the actor is destroyed. I have tried calling "ClearAllMeshSections()" before destroying the actor, but the problem persists.

I'm destroying the actor using blueprints, but the actor itself is written as a C++ class. I'm not sure if this has anything to do with the problem since I haven't created a functional Spawning and Despawning system in C++ yet. Everything is still done on a PlayerController blueprint.

Does anyone know if this is an engine level issue or if I'm forgetting to call an important function? I have looked around on tutorials to see which functions they call, but they all seem identical to my setup.

Thank you for your time!

Best Regards

-Sven

Product Version: UE 4.20
Tags:
more ▼

asked Oct 06 '18 at 07:10 AM in C++ Programming

avatar image

Headstub
15 2 5 6

avatar image Headstub Oct 13 '18 at 03:38 AM

I think the problem is that the garbage collection is not cleaning up the mesh geometry. Is there any flags I can set for it to do so?

(comments are locked)
10|2000 characters needed characters left

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question