Sudden performance improvement on Android Webview

0 favourites
  • 3 posts
From the Asset Store
Firebase: Analytics, Dynamic Links, Remote Config, Performance, Crashlytics on Android, iOS & Web Browser
  • Hi mobile developers, did you get the chance to test the performance on the latest Android System WebView?

    I came a cross a sudden performance stability boost on Android, I've checked a few times to confirm. I have GitHub version control, so I can revert to an old project state when necessary, and I can definitely see stability improvements.

    It is not as fast as Chrome for Android, but I think it is a significant improvement in stability and startup.

    Knowing I did not do anything to cause such performance improvement, I checked Google Play if there was a System Webview update. And there was an update, it said Bug fixes and speedy performance improvements. It's great to know Google is still working on improving the System Webview performance, and fortunately these updates are automatic by default, as I have experienced, so we do not have to worry about asking players to manually update the webview.

    For those having performance issues before, please let us know here if you see noticeable improvements as well. I am currently using r260 (Stable) for testing, with 21st September 2021 System Webview.

    Edit: There is a new update for Sept. 23, 2021.

    Thank you.

  • When you say you're seeing performance / stability improvements Chadori, can I ask how you are testing? Are you simply looking at how smoothly your game runs? Or are there metrics you are using to compare performance?

    I agree with you, I have seen an improvement in how smoothly my game runs on Android recently (Pixel 4a).

    In my case Im just looking at how smoothly my character moves when running, jumping, firing in a level. So very subjective, but to my eye there's definitly an improvement in recent builds.

    Following the improvements made to 'frame scheduling' in C3 r247, which had a huge improvement on my game, I would still see infrequent, small janks here and there. Now I am noticing even less of these infrequent janks.

    Previously I could play for 5 mins and I might see 6-7 small janks, where the scrolling of the tilemap bg would pause fractionally before catching up with player movement. Now I can play for 5 mins and see none.

    I'm still working in C3 r251-2. And Im using Android System Webview Canary.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • 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.

    Thank you.

Jump to:
Active Users
There are 2 visitors browsing this topic (0 users and 2 guests)