I'm developing a 2D game in Monogame. My game only redraws regions that have changed, leaving the contents of the backbuffer from previous draws. On my PC, this works as expected, but on my Droid Turbo 2, the backbuffer is filled with random garbage data between each draw.
To describe the effect further: when something changes, you'll see it drawn to the screen for a single frame, and then is replaced with garbage the next frame. It looks like colored snow.
Why is this? Is it recreating the backbuffer anew each frame on Android for some reason? Is it possible its device specific behavior?
I understand that changing rendertargets will wipe the backbuffer, but I am not switching render targets. My game does not use any additional rendertargets. Experimentally, I changed the backbuffer to PreserveContents (I know this is slow) in PreparingDeviceSettings, but this does nothing. I assume it only preserves contents on a render target switch, which is not something I'm doing.
If I clear the backbuffer each frame and redraw the whole scene, it shows up correctly.