Hoowwwwdy y'all. Just a smaller patch that won't really change much in terms of functionality but aims to improve some of the stuttering issues people have been experiencing. I'm not 100% sure if this covers all the stuttering issues as there are many different devices to support, this should certainly help in most circumstances.
There is a lot of other stuff I need to get around to so I thought I should get this out now as it can impact people a lot.
For any techies interested, here is a typical tick, and how much is taken on the game logic is highlighted in the animation frame being fired, so anything that extends this time is what we're looking out for.
https://imgur.com/a/L2o2yry
In the patch notes I highlight the areas which were found to be taking far too long (for example all items could take up to 15ms each on a system with it's CPU emulated to 4x slower than my own.)
I also spotted an opportunity to optimize the way the threads communicate, but this will take longer and is a bit riskier to the codebase stability so I will make this a task I look at on the longer term while focusing on the main game features.
==== PATCH NOTES ====
Are existing save files compatible?
- Yes - You do not need to make a new save file.
Fixes:
- Optimized how the grid is loaded
- Optimized how the grid is saved
- https://imgur.com/a/WrzBE9d
- Optimized how the grid is redrawn (seemed to redraw when it wasn't necessary)
- https://imgur.com/a/8ITK4kx
- Optimized the way the UI copy of characters are rendered (it was taking 15ms on 4x emulated slowdown)
- https://imgur.com/a/TXDmE7B (screenshot on a system with 4x slower CPU speed emulated, which helps 'stretch' issues out longer for easier visibility)
- Optimized the way items are unloaded, they appeared to take a while.
- https://imgur.com/a/mmi8fBl
- Fixed characters looking backwards while running sometimes
- Fixed a framerate issue that was locking FPS
- Thanks to sugartitty in the community for this, came in clutch investigating the compiled code!
- Fixed last patch breaking culling
- Fixed cancel hacking not working so well
- Fixed species name not showing correctly in dialogs
==== LINKS ====
Discord: https://discord.gg/CmSFawGNeU
Wiki: https://licenseto.wiki/
Website: https://www.jamdonutgames.com
YouTube: https://www.youtube.com/@jamdonut
Twitter: https://x.com/AJamDonut
Twitch: https://www.twitch.tv/jamdonutgames