Hiya all,
So I made this obby builder game, and I tried it on my 10 year old PS4.
After a few minutes of playing the framerate drops to about 10 and character movement becomes so sluggish that it is not playable. The player jumps in slo-mo. I want to stop that from happening.
I tried looking at performance stats. Memory use is constant at about 1.5 GB. The GPU is almost not loaded at all. CPU jumps to about 70ms (whatever that means… 70ms per frame rendered, I assume.) I tried the microprofiler, but I am not really sure I can get hold of the data, from a PS4. It dumped it into a file that I probably have no way of accessing.
The game is open source so anyone can try it and see the code if you are interested.
Can anyone offer some advice on how I might pinpoint and/or fix the performance issue?
My ideas:
-
Disable streaming. Although there is a massive amount of parts, since there are 8 obbies with up to 1000 stages each, so it might make matters even worse instead. Easy to test, but unlikely to fix the issue.
-
Split the experience into 8 separate places, so that the player will have to wait for an obby (place) to load when they want to play it. Will take time to implement and will not really identify the root cause of the issue, so it is not certain to make a difference.
-
Make a secret button to kill all the physics constraints that might be on obby stages if the user selected a script for the stage, to try and eliminate the physics engine as the problem. Although I would assume most work is handled on the server side. The network traffic is about 50 kB per second receive, so I don’t know what that is but it could be the music, or the phyisics.
A PS4 is not that bad with 8GB total ram and quad core 1.6GHz processer, and since the issue only happens after a few minutes it is unlikely to be a hardware constraint. I don’t notice the fan working overtime, it sounds normal to me.
As you can see from my visitor count, I am mostly doing this because I like to code. There is really not a lot of people finding and liking my game. So this is not costing me anything, I am just curious.