Actor and their tick - performance already bad with 14 simple actor


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 hope you guy can explain me how to fix this

Hello skeleton60,

Tick can be really heavy on performance load, so have a look at using rotating movement components. Here is the documentation: A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums
This is the best way to perform the action that you are trying to do, and is the lightest in terms of performance.

Have a great day,

Sean Flint

BTW - Looks like the GPU may be limiting factor for your fps (based on the stat unit results on right side of screen)
How many vertices does the ventilator have?

As far as determining cpu cost, if you can gather profiling logs from device with:
stat startfile
stat stopfile

Then view those logs in the Session Frontend Profiler
You will be able to drill into the specific functions that are using up cpu.

UE should have no problem doing 14 rotations every tick.

ventilators are a simple paper 2d sprite

i tried this and using rotating movement component is worst than my simple add actor local rotation

now i have red stats, ventilator actor have nothing in tick now this is only the rotating movement component :frowning:

Hello skeleton60,

Is there any reason that you’ve decided not to use flipbooks? If you were unaware, you can view the documentation here: Paper 2D Flipbooks | Unreal Engine Documentation
This will be more performant in a 2D game than rotating the actors during gameplay.

Have a great day,

Sean Flint

ok i may have something wrong in my current project, because i tried with a new blank project, and i can put more than 14 ventilator without any problem :o

will try to find what

Yes i dont want to add many texture, i make this game for mobile and i want to avoid big package size at the end

ok i found what wrong, in my blank project my ventilator had a simple box collision for the sprite

on my current project (with the low fps) i did a custom shape collision approximative around the ventilator with more points than a simple box :o

is that normal behavior that a shrink wrapped collision run so bad with the engine? because i would like to avoid a simple box collision (which work fine)

maybe a ventilator mesh would do the job for better collision without impacting fps?