v1.0.3 - All Your Memory Are Belong to You

Chop It

Chop It is a VR rhythm game about karate and friendship. Be karate. Gaze in awe as the Sensei launches himself around the Pagoda raining building materials on your head.

v1.0.3 - 2018-10-01 That's right, we skipped a whole patch version! Optimizations We fixed two pretty gnarly memory issues. Both were a result of importing tracks, but let's discuss each individually. 1. Audio data for all tracks imported from StreamingAssets was staying in memory indefinitely. Even when compressed, this caused a considerable amount of bloat. For 16 imported tracks we saw almost 2GB worth of unnecessary memory usage by Audio Clips. To fix this, we modified the import behavior to store file pointers to imported audio files instead of loading audio data on start. While this was a win, when we built the executable and loaded it up we still saw considerable bloat when importing a lot of tracks. That takes us to issue #2! 2. Those weren't really file pointers at all! The WWW File objects themselves are quite bloaty as well. So, while our memory usage by Audio Clips looked great, we were still seeing up to 1GB of bloat when importing the same 16 tracks. For this, we deferred all File and Audio access until it was needed - when previewing, mapping, or playing a track. We then unload and dealloc all File and Audio objects when they are no longer being used. The result of the 2 fixes is that "no matter how many" (probably) tracks you import, you should never see memory bloat larger than that of the most-recently-used audio track. For a lengthy WAV file this was less than 100MB when we tested. That's it. Less scary bug fixes and tweaks are coming soon!