actor and their tick - performance already bad with 14 simple actor and pawn ?


is this something normal with ue4 engine or i do something wrong

i have 14 ventilator actor, its just a small ventilator texture and the tick function just do a add rotation every tick

when i put 5 ventilator the game run fine on desktop and mobile (i can feel a difference on mobile already)

when i put 9 ventilator the game seem to run fine on desktop, fps start to be quite impacted on mobile…

when i put 14 ventilator the game on desktop is now impacted, and mobile is impacted hardly

and this is only ventilators yet… how am supposed to put other actor if the game cant run properly on mobile now?

is that something i may encounter on other 3d engine ? i know ue4 do beautiful scene, but how about game logic performance?

i am beginner so i may do my game logic wrong, i probably shouldnt use tick for rotation since it seem to impact the performance hardly, but how to rotate my ventilator actor if i cant do it in tick?

many question, many doubt yet :o hope you guy can explain me how to fix this :slight_smile:


first, you may want to start a timer on beginplay for that. Just make it call a function like “RotateVentilator” and set its time to 0.1 seconds and have it looping. This way you on one hand remove the logic from the tick function, on the other hand your ventilator rotation is no longer framerate-dependent as it would be in the tick method (i just assume that you dont take deltatime into account here).

second, this shouldnt have such a big impact already; can you show your logic for rotating the ventilator? It seems a bit strange :slight_smile:


Depending on what exactly you want to create, you could just simply rotate the texture in your material (then you will get a really good performance) -> rotator :slight_smile:

hi a found the problem, it was due to a custom shape collison around my ventilator

a box collision shape work fine now

but i would have love to have a custom shape collision

I tried it but I didnt get the same result. I had no frame drops.

It’s hard to tell what’s going wrong without seeing your code or collision shape.

Still keep in my mind that you need to have least of stuff in Event Tick. I used a timer in the end with a 0.05 loop and my eyes couldnt catch the jump so it should be okay for you aswell.

can you send me your project sample via mega or something else?

my code is simply in the tick one node: “add local rotation” to the paper sprite

i will screenshot the papersprite with shrink wrapped collision

here is the shrink wrapped collision for the sprite

this collision shape, made my game running slow if i add many ventilator that rotate each tick

and the actor is based on actor class, i add a papersprite component to it

i would love to hear that even with this shape the game shouldnt lose fps with 14 ventilator actor, because i really need this collision shape, because my pawn will be a small guy that can fall in the ventilator

so my computer (cpu: intel i7 870 - gpu amd 7970 - 12 go ram) run the game at 30 fps if i use custom shape collision, 100fps+ if i use a square collision

my ventilator actor event graph is this one:

but i may do this trick, when ventilator is rotating, i use a square collision (will not be realistic for sure), and when the ventilator is off, i use another sprite with a good collision shape, so my player pawn may walk on ventilator (yes its a little player pawn ^^)

so at least, ventilator would rotate without impacting the fps, and when they dont rotate i will have a good collision shape for the player pawn to walk on it !

and i see that 2d collision physics is on experimental, maybe i would have way better result with this when its not anymore in experimental? :o

It says invalid attachment. Try using “Insert Image” if you want to show the pictures :slight_smile:

And yeah your problem is that. I have a 2d template aswell and I didnt have any fps drops due to box collision.

Note that it already says in Flipbook that, if you dont use first frame collision, things will be calculated everytime. I still don’t think it should effect THAT heavily, but I still yet to see the pictures my friend.

here is image of the sprite collision

Hm. It still shouldn’t be that hard on performance. Can you upload your project to a dropbox etc so I can check it? I am just curious about it and maybe I can find what’s causing it.