This update deals exclusively with optimizations to the game. The three principal areas of optimization are draw calls, Texture memory, and dynamic lighting improvements.
The benchmark goal I have kept with this game is a minimum of 30fps at 1080p on a gtx 750. With this latest patch I’ve been getting 60fps for most of the game.
One of the CPU bottlenecks I found was the number of draw calls for static meshes and their materials. To address this I “merged” certain mesh groups together. In the image I’ve combined 6 static meshes into 1 (the yellow circles are the bounds of the object):
- This will also help with artifacts caused by turning corners quickly.
I down-sampled a lot of textures from 4k to 2k. I did this individually for each texture to make sure there weren’t any noticeable changes to the environments. Here’s an example:
- If you can’t tell a difference between the 2K textures and the 4k textures it means I did it right. It’s also important to note that, unlike purges in the past that cleaned up unused textures and models, this was specifically targeted towards textures used in-game. Because of this, I’ve shaved off ~1.3 Gigs to the game size and cut load times by ~50% on the benchmarking system.
This is a lot less amazing and mainly concerns adjusting the configuration files inside Unreal Engine 4 to match the environments of CAT Interstellar. For instance, I placed every light in this game and I know for a fact that there are only five instances where more than three dynamic lights overlap. All of those instances are because of a light in an adjacent room that is blocked anyway. There is no situation where 4 dynamic lights need/should be rendered so I’ve removed the option. Similarly, I made adjusts with Particles Effects, Screen Space Reflections, Anti-Aliasing, etc…
I hate to call this a downside but I’m not sure how you all are going to take this:
- The graphic menu has been simplified to 3 categories with 2 options each: “Fast” or “Detail”.
Being a lifelong PC gamer/modder I completely understand why removing options from the player is generally frowned on but I feel like this one is at least partially justified. I’m honestly curious what you think though.
These adjustments can all be changed in the console and I’ll never take that away from you.
- Faster load times
- Higher frames per second
- Less menu options