i won’t pretend to fully understand this but i’ve always wanted to go through and analyze this sort of stuff in game, and you break down a lot of the elements really well, good stuff
I don’t get it but keep doing what you’re doing pal
We especially see that the one on the bottom seems extremely long and consists of two parts: prepare and perform. Ideally, we would want our prepare time to be as small as possible, but why is that? That is because the prepare thread yields EVERYTHING from continuing until it is over, which is not ideal to have high if we want good FPS.
was this after a specific action, more noticeable after a specific action, or just something that happened consistently? For example, was it on spawn? Death? Skill use? Destruction?
why are non-humanoid objects getting classified as humanoids
No, this represents the average amount of time on a large set of frames. Actions would have zero to none affect on the render thread.
If someone puts a humanoid under a non-humanoid object, then it will be considered a humanoid and then fast clustered. I do not think this is the problem in Arcane Odyssey’s case though.
So this has nothing to do with frame drops then unless it’s excessively long prepare times, it just explains a generally low average fps.
Exactly. The prepare times seem to be consistent no matter what situation you are in for the most part. I’ll try to find reasons for frame drops too, but in general the consistently low FPS is because of these prepare times.
I’m curious what would it look like if you ran this test in World of Magic?
That game had a ton of overworld NPCs and yet it seems to run a whole lot better (except when someone blows up the silent tower)
I’ll give it a go.
So, I don’t want to go too in-depth, but it seems that WoM actually doesn’t have this performance problem with humanoids. In fact, I don’t see the “updateInvalidatedFastClusters” thread in WoM at all.