HISMA of roof tiles caused huge fps drop

Hello there.

I have created a blueprint of hierarchical static meshes, and put roof tiles on top of another hierarchical static mesh building in the blueprint. The tiles(499 tiles) are merged as one actor for one row, and looped(31 loops) to tile it across another row. And that is just one side of a building, another side requires another 31 loops, and also i instanced 3 buildings, so it is a total of 186 loops to tile rows of tiles across different transforms

The way i do it, i would load a CSV that contains the values of transformation, and applied it like this

This is the fps without the tiles

and this is with the tiles (forgive me for the wrong tiling at the back)

Am i doing something wrong here? Or is it i misunderstood about HISMA performance?

Any help would be appreciated! Also if you need further explanation please ask so.

What you have looks ok.

I have to ask, seeing as it’s the main mistake everybody makes with HISMs, is there only one ‘roof tile long’?

It is only one, but i have another called rooftileshort. I create other HISMs also like doors, naco windows, and so on. Its like this

image

The only HISM that i used a csv with is only rooftilelong. I havent done the the other HISMs with the csv method yet. I used looping, and + - the x y z to get the corresponding positions

Here it is






Are these bad frame rates in editor?

I’m assuming you have all this on construction. Is the script running when it shouldn’t be maybe? It should run once, and not again, unless you move the building etc.

You could use print statements to debug, or a bool to make sure it only runs when you say.

Yessir. It is both bad frames on the viewport, and also on the editor, and yes the script runs on construction. I did culling distances with the HISM but still it gives bad frames when the actors come into play.

I will give this a try. Should i change from construction to event graph? I noticed that i could not print anything out when im in the construction, and thus assuming printing from construction is not the way.

Yes, I think you have to just move everything to a custom event in the main graph, and call that from construction.

You can make the construction only run when you want with the simple mechanism

1 Like

Sure thing! Let me make up the main graph, and i will get back to you ASAP

1 Like

Thank you very much mister. The construction script does call it multiple times, in fact more than 10 times. The solution you just gave, made it call only once, and no fps drop were found. Thank you so much.

Ha! :slight_smile: