I built a reproduction of this issue.
I initially tried it through js fiddle, but the performance seemed fine. I thought maybe the smaller viewport may be why so I checked the full screen result and it was also ok. However on the fullscreen link, I noticed that everything was very blurred and somewhat pixelated (on mobile at least), similar to how it looks when you set your viewport setting wrong.
So then, I simply copy pasted the jsfiddle code into an html file and the issue presented itself.
I’ve noticed that the performance gets worse when looking more towards the direction of the nearby “water”. Weird.
Also as it always seems, the first 30 seconds to minute after load seem to run ok, then perf tanks. This is something I always have noticed though. No matter what, first minute or so after load runs fantastic. Probably some mobile browser throttle mechanism.
Anyway, this is what I’ve made:
jsfiddle (performance seems ok): https://jsfiddle.net/titansoftime/kewgm30c/
fullscreen jsfiddle (performance seems ok): https://jsfiddle.net/titansoftime/kewgm30c/embedded/result
html (issue is noticable): https://www.titansoftime.com/perftest.html
Increasing detail to 1024 and anisotropy to 4 makes it quite noticeable (at least on my mobile device). Actually it seems that anisotropy has the largest impact.
Reducing splat texture resolution, disabling the splat textures and even setting the character mesh skinning to false (oddly enough) all seem to bring the example to a steady 60 fps at all angles.
Wish I could explain this =/ I really want to be able to have my terrain “paintable” =[