Dynamic Textures kills FPS on Android

I’ve implemented painting dynamic textures by following the tutorial here…

I’ve had it working for about a week and all was good. I tested it on Android (Galaxy S5) initially and seemed to work great with a 2048 texture. However, since yesterday suddenly the FPS is dropping from 60 to 10 when I start painting?! However, most of the time it drops immediately, sometimes after a second or two.
When I stop painting it doesn’t immediately return to 60, but slowly climbs back up after a few seconds. I’m also testing it on an iPad Mini 2 (with Metal disabled) and the problem does not exists (or in the editor for that matter). But as I said, it was working fine previously and the code hasn’t changed at all. I tested it on an empty map to make sure that nothing else was causing it but the issue remains.

I have no idea what could have caused this? I saved the profiling info from the device but it’s not very helpful as there’s very little meaning to what it actually shows. I have no idea what FFileTransferRunnable, FMessageBus or what started Thread_6899. There doesn’t seem to be much in the way of documentation on these things as far as I can find?

Any help appreciated. I’ve attached the profiling data.


link text

Solved the problem by only updating the modified region. But that then broke it on iOS :frowning:

PaintRegion.SrcX = cellX - halfBrushSize;
PaintRegion.SrcY = cellY - halfBrushSize;
PaintRegion.DestX = cellX - halfBrushSize;
PaintRegion.DestY = cellY - halfBrushSize;
PaintRegion.Width = brushSize;
PaintRegion.Height = brushSize;

More info here…