S.E.A. v1.2.1
The latest update to S.E.A. addresses some low-hanging performance optimizations that should have made it into the previous build. Many thanks to kalmarr for bringing these issues to my attention.
v1.2.1 changes
- Performance optimizations
- Clear all noise fields on game state changes
- Only cache surface height when it’s nearby
- Only draw surface when it’s visible
Known issues
There are a few outstanding performance issues for v1.2.x that I need more time to address before moving forward with new feature development.
Please note that these observations have been superseded:
Frame rate
I’m looking into optimizations that I can make to drawing objects to the screen and looking up their properties. This is the first time I’ve worked with 3D graphics so I’m sure there are things to learn and do better. (I’m moderately sorry that you’re my test subjects.) For now I’d recommend reducing your Draw Distance setting.
Memory usage
I’ve found that the main contributor to memory usage is how my engine caches noise values between frames. This greatly improves execution time at the expense of memory. I’d like to find a good compromise for this. For now I’ve found that, if memory becomes an issue, pausing the game allows it to garbage collect. Additionally, disabling graphics reduces the overall need for noise and its memory footprint.
Whatever else
Comment here or open an issue if you have any reports or insights into these performance issues.