Upon playtesting my game in Studio today, I started getting immense lag. This puzzled me as I was in the process of optimizing terrain and had cleared lots of it. I opened up the microprofiler and tried to conduct some research, but the Developer Hub page is quite vague and I can’t figure out where most of the labels mean. Here’s a screenshot of the dump for quick reference, the dump is linked below if it’s needed.
I’ve been unable to determine what is causing all of these task() things or what they mean. I don’t believe it’s a malicious script/plugin as I haven’t installed anything recently and went through all the hidden services (looking at you, CSGDictionaryService) in Studio which yielded nothing. Google Drive Dump Download
If you hollowed out your terrain, it might cause more memory to be lost because it has irregular shapes(harder shapes to render). If you clear some terrain, make sure you’re not making the shapes to complicated
I’m pretty sure thats not how it works?
There might be a possibility that it can affect performance, but it shouldn’t increase the memory because there is less things that it is storing.
Funny you say that, because I did hollow out some of it thinking that it’d help haha. If anyone has a confirmation or proven test on this, I’d be happy to hear more about it.
Even if it supposedly does take more, I don’t think it should be causing the amount of lag that it is. It looks like it’s putting work on my CPU, not GPU which I was wasn’t expecting. I just used Crazyman’s Part Counter Plugin to check the voxels before and after this started happening. Last week, before I started optimizing the terrain, I had 1,309,700 voxels! Compared to now, there is 575 804 so I doubt this is the cause.
Turns out that I inserted a placeholder part before I cleared all the water in my game so I could make the new water the same size. I forgot to anchor that massive part after inserting it . It would have been trying to calculate the math for the part to float each frame.
As a side note, if anyone part of the Developer Hub comes across this thread, the documentation for the Microprofiler is extremely lacking. There are already many (1, 2, 3, 4, …) threads that have been already created so I won’t bother making another one. I feel it is super important for such a powerful utility like this to have sufficient documentation so that it’s usable by people other than engineers.
Haha ya, that’s a lot; you’ll likely have to enable it. From what I’ve gathered over time, Streaming Enabled is generally quite stable with it’s few quirks here and there.