I was playing around with a simple AI and wanted to know how what performance an AI has on a mobile android game (Current testing device: Nokia 7). [ol]
[li]So I created a map with a simple landscape and a top-down character and it runs fine, no performance hits whatsoever (stable 60fps (Cap))[/li][li]Afterwards I created an AI: Character + Blackboard +etc. with a very simple task: Move to random point in radius: Litteraly: Get AI actor location -> Get randompoint in navigatable radius -> AI move to[/li]
[li]So i started inserting the AI’s into the world, I decided that I wanted to test different options with 200 AI characters which are only choosing a random point in radius and move to it.[LIST=1][/li][li]Character setup: Standard UE4 Mannequin ( with LOD, 2300 vertices)[/li][li]Result: Massive performance hit ~27 FPS[/li][/ol]
[li]So i Thought: Maybe too many bones? So i imported an “fake skeltal mesh”. Just a cube with no bones
[li]So i lookedat this post (A question of mine years ago). And I saw that I can enable “navmesh walking”, so i did:
[li]I also read about the pawn movement component instead of the character movement component. So I changed the class to default pawn, (Had no skeletal mesh within the default pawn, only the default sphere and I ran the project again[ol][/li][li]Performance result 47-48-49 FPS. Holy moly, what a difference![/li][/ol]
[li]But I thought, I am only able to insert an static mesh, lets set the static mesh to none, and add a boneless skeletal mesh (the cube). I expect to have no difference within the performance, since it is only a boneless cube:
[/LIST] So my questions are:
Can anybody explain this behavior to me?
Apparently skeletal meshes (even tough with nearly no information) have a massive performance hit relative to static meshes. Why?!
Enabling Navmesh walking changes nothing in my performance, Why?!
Main goal here is: I want to have maximum performance, preferably with the character movement component (Due to replication). How am I able to achieve this?