Hi Artpunk, thank you for sharing your experience! I appreciate that.
Regarding your question, I am using my current project to test stability. I currently cannot base on benchmarks because I currently do not have a proof of concept that can precisely target and measure instability, nor has anyone made one yet that I know of, unfortunately.
It was just by some luck that a few days ago, before I paused working on a project, the last thing I did was measure instability, and I do this just right after commiting changes. During my pause of development, a new Android System Webview was released, which I was not aware but my device got automatically updated with it, then when I got back to development and rerun the tests I have noticed improvements that I was doubtful at first since I did not do anything, but sooner realized it was due to a System Webview update. I have to note that I was already using
r260 and my test device was a Samsung Galaxy Note 10.
My way of measuring instability is through inspect duration, avg. intensity of stuttering by fps, duration of stuttering, and the number of times it happens during the inspection duration. For practical reasons, my tests are only made specifically for my project and doesn't really target the issue, this is just the usual method I use to confirm if my workarounds to stuttering work. Although, the more performance improves the less of those factors matter.
To make my explanation shorter, my previous lowest fps was 57fps, and a stutter lasts around 100ms, having a consistency of 1~2 times every 300 seconds. But now, I rarely get stutters, only occasional, and the lowest fps can vary from 59fps to 58fps, which now only lasts around less than 50ms. That is a very significant improvement for me considering I did not do anything.
Also layout switching has become more responsive for me, layouts suddenly switched faster than before. My measurement for this is from when a layout change starts and how long it takes the layout to normalize to 60fps. Previously, switching a layout takes ~500 ms to normalize to 60 fps, while now it only takes around ~200ms.
I do have to note that performance on Chrome for Android is still significantly better than even this new performance improvement on the system webview that I see.
Regarding r247, yes that is right, I am aware of that too, and that performance improvement was certainly more apparent. If we compare that improvement to this is one, this would just be a minor improvement.
I hope that helped clear things up.
Regarding Android System Webview Canary, Is it possible you can try the production release of System Webview for Android instead?
Because from my tests Canary is slower than the production release (System Webview for Android) and development release (System Webview for Android (Dev)). I have tested those webviews after seeing the performance improvement hoping Canary would be much faster. But unfortunately Canary's performance was slower on my tests.
Thank you again, Artpunk.
And, if you guys experience better performance, worse performance, or the same performance, please tell us if you have the time.