DECEMBER ADVENTURE 25

🔧 Little project writeups every day in December 🔧
See: eli_oat's December Adventure

3

Well, I made some rocks static and culled some animations.
Improvements were okay, but I need more
Investigating on a low end machine next

2

Updated my site to fix some broken links and make it look better on mobile.
A trifling victory, but a victory nonetheless.
I'm so tired. I'm gonnna go play some civ now.

1

I worked on this really cool game called Starshifter and release updates for it intermittently. I got a few complaints about performance recently, so I decided to look at that tonight. I did test the game on some mid/low end hardware before I released it and didn't have any issues. So let's revisit things! After waiting 10000 years on version control, and another 10000 for Unity to open the game (I miss godot already) I loaded up the Mountain (the last level of the game and the biggest I think?) and got some data with graphics settings set to high and low.


Wow! That's pretty bad. Also there isn't a huge difference between high and low graphics quality, which is weird? I disabled the terrain and foliage too. Didn't change much. Eventually I disabled the NPCs and the frame rate shot up to 50 FPS.. not great, but much better.

Profiler time:



Looks like "PhysicsActor.FixedUpdate()" is pretty expensive! Well, ~20% of the CPU time, which makes me worry that something else is also going wrong with the NPCs. Anyway! Turns out we are using a fancy character controller, called the lightbug character controller, and this is from that controller's physics step. Reducing the physics step rate is not something I want to do to a game that's been out for 2 years. I can try to disable continuous collision detection, I could also disable the physicsactor if the player is reasonably far away enough and/or not looking at the NPC. This custom character controller is probably overkill for many of the NPC's as well, several of them just roam around in a specific area and don't interact with anything. Not sure if I want to go to the trouble of removing the character controller to roll my own simpler one though. but!!!!! The first thing tomorrow is to disable physics on all the NPCs and test performance vs the steam version of the game. Need to be sure that there's not some weird editor overhead going on. But I think I'm right. I think there are just too many character controllers in the scene.


Back