I have been getting numerous reports that the game crashes frequently on Windows Phone 8.1 devices.
Almost all the crash reports come from devices with 512MB of memory, which led me to conclusion that the game is running out of it.
After investigating, this indeed seems to be the case. While the game was happy to run on 512MB WP7 devices, WP8.1 has, for some reason, much more stringent memory requirements.
As it turns out, WP7 app on a 512MB device can allocate up to 276MB of memory before running out and crashing. On WP8.1 this limit has been reduced to 185MB!
I could hardly believe my eyes when I saw that today. This is just above a third of the device memory available. I think it’s a real mistake by Microsoft, and not the first one either. What is the remaining 2/3 of the memory being wasted on? If an user is running a foreground app, why the system can only allocate 1/3 of the memory to it? It should be more like 4/5, with the system trimming down as much as possible and killing background apps.
Anyway, I can wail and whine, but in the end we have to do something about it.
If you are experiencing crashes and have a 512MB device (Lumia 520/620/720 etc.), the only thing you can do is to reduce visibility range. Go down to 96 or even 64 blocks.
I will try to scrape some memory here and there, but 185MB is a pathetic amount in 2015. Especially that of these 185MB I am only directly allocating less than 100MB (with 128 blocks visibility range), and the game still crashes from time to time. The rest is apparently taken away by some runtime stuff that I have no control over.