In the Graphics Options part of the menu, there are a few options to help you tune game performance to your device. With these four parameters, it is my sincere hope that anyone running a remotely reasonable device should be able to have a smooth experience playing TNH.
TLDR:
- If you're having performance issues, disable Multithreaded, enable Low Memory, enable Live2D Lite, and disable Large Image Cache
- If you're running a beefy system, try enabling Multithreaded, disabling Low Memory, disabling Live2D Lite, and enabling Large Image Cache
Multithreaded
- This controls whether Live2D model updates are checked for in one large thread or in a thread per model.
- In principle, having a thread per model can improve the responsiveness of models.
- However, some devices and CPUs will slow down from the increased load of all of those threads, and will actually perform much better with a single consolidated thread.
- This setting probably impacts mobile players the most and is the first thing you should toggle when trying to debug egregious stuttering.
Low Memory
- As expected, this is for devices with not enough memory to load Live2D model images into the cache when a character is displayed.
- It works by using 50% scaled-down assets instead.
- The most important application of this is for mobile players, where it should eliminate crashing on most devices.
- This cannot be enabled at the same time as Large Image Cache (below).
Live2D Lite
- This works in conjunction with the "only render when the model has updated" system to reduce the performance hit from Live2D updates.
- It shortcuts features like physics on standing models and breathing animations, thereby cutting down on the number of updates per second and therefore renders per second.
- This is useful if you find your game stuttering when many characters are displayed.
Large Image Cache
- This is for players with ample video memory: it allocates more memory to the cache and it pre-loads frequently accessed interface assets into the cache so that they don't need to be dynamically loaded during gametime.
- This increases load time by a few seconds while assets are being preloaded - you decide if that's worth the admittedly small reduction in potential lag.
- This cannot be enabled at the same time as Low Memory (above).