Chrome vs. Cordova performance disparity

  • Hello,

    I am ready to deploy my game. Everything runs great in Chrome on my target (mobile) platform. When I compile an Android Debug APK via Construct 3 for final testing, there is a noticeable stutter. It’s not frequent, but it’s consistently reoccurring and very jarring when it does happen. It’s completely absent in Remote Preview tests on that same phone.

    Can anyone suggest ways to improve performance in Cordova? I don’t understand why Chrome itself does fine, but the packaged APK version struggles.

    Thanks a lot.

  • Does the renderer system expression say "webgl" or "canvas2d" when in Cordova? Which device are you testing?

    If it says "webgl" then Google have fixed an issue that could cause jank and the next update or two of Chrome should have the fix.

  • Hi Ashley,

    I am testing on a Galaxy J7 Perx, Android version 7.0. When I run a Debug APK the renderer expression returns "webgl."

    When you say that Google will update Chrome shortly, does that translate into improved Cordova performance? I was also wondering if there were any Cordova plugins that can improve game performance, or any Construct settings (scaling, etc.) that might impact Cordova quality. I'm very happy with Construct 3 and the game I've been able to make; I just need to get it working as well in its mobile form.

    I appreciate the help.

  • On my Galaxy S6 edge the problem is physics + minify script on export.

    If you test/preview on your phone during development everything is fine, but once you export and minify script it's janky. If you export and uncheck minify works fine too

    Not sure if this is the same problem you have, but it could be.

  • Minifying script should not affect performance.

    The issue is in how frames are scheduled so it's not really a performance issue, it's just a fix for smoothness. Cordova apps on Android still use Chrome to run the game.

  • Minifying absolutely affects performance in this case. In my case only on Galaxy S6, OP is also testing it on a Samsung phone,so that is why I jumped in with my example.

    This could be an issue with something else within Galaxy phones and unrelated to Chrome. I don't know, but I know that not minifying fixes it ( in my case ).

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Minifying absolutely affects performance in this case. In my case only on Galaxy S6, OP is also testing it on a Samsung phone,so that is why I jumped in with my example.

    This could be an issue with something else within Galaxy phones and unrelated to Chrome. I don't know, but I know that not minifying fixes it ( in my case ).

    Currently 90% of samsung devices are having problems in WebGL and some plugins.

    i have three samsung devices and my work is stopped because webgl flicker on screen or some plugin doenst work too.....

    Waiting chrome update....

  • Thanks for the help.

    Unfortunately, I still had performance issues even after unselecting the “minify script” option. I’m glad to know that Google is working on a fix, but is there anything I can do on my own to sort out Cordova’s issues?

    For instance, are there any plugins that might help? Or has anyone had any luck getting better performance using a third party build option, like Phonegap or Ionic? Construct has done everything I need it to; I don’t want Cordova to be the thing holding my game back.

  • Minifying absolutely affects performance in this case. In my case only on Galaxy S6, OP is also testing it on a Samsung phone,so that is why I jumped in with my example.

    Minifying essentially removes whitespace and renames variables to shorter names. So there is no functional difference and no technical reason why this would affect performance. I'll believe it if you provide a project and benchmarks that I can replicate. It's also very common for people to mis-attribute the cause of sporadic issues.

  • I don't need to provide a project.

    Just make any quickie sample with physics behavior in it and test it on a Galaxy S6 edge over wi-fi, everything will be fine.

    Now actually export html5 project, minified, and play it on that same phone. It will stutter, happens 100% of the time, but after 30 seconds or so goes away and things are more or less OK with occasional stutters. Now export and uncheck minify script, no stuttering. ( I have about 7 games with physics, all do this on my Galaxy S6 )

    [quote:v69o65fy]Minifying essentially removes whitespace and renames variables to shorter names. So there is no functional difference and no technical reason why this would affect performance

    Obviously there is a difference. It may have nothing to do with Construct or Chrome. Like I said it happens only on Galaxy S6 and only with minified exports of games using physics. One of your beta builds completely broke games using physics if they were exported with minified script. How do you explain that one if there is no technical reason for minifying to affect things? You fixed it in 2 days I think.

    Shit happens.

  • One of your beta builds completely broke games using physics if they were exported with minified script. How do you explain that one if there is no technical reason for minifying to affect things?

    The variable renaming process broke it. However a successful renaming of a variable should not affect performance. Honestly, I do know what I'm talking about. I actually wrote part of the minifier we use.

  • Well, anyway, I don't know what it is, but those are the variables in play

    Physics + minify on export and Galaxy S6 edge = stuttering for the first 30 seconds, then after that mostly fine.

    Uncheck minify on export, problem goes away.

    Could be something on my Galaxy phone, but the fact is it happens with every game when you use physics and minify on export. Only on that phone, no problem on iPhone, iPad or any of the PCs

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