Another Poor Performance on Android thread.

0 favourites
  • Im having similar problems to whats discussed in these threads:

    Game Perfromance on Android Sucks

    Chrome vs Cordova performance

    Basically Im noticing a marked difference in performance between Chrome on Android (remote preview and HTML5 hosted online) and Android APK export.

    Ive been testing on two phones: a Pixel 2 and more recently a Pixel 4a. So correct me if Im wrong but as these are Google phones, there shouldn't be any problem with blacklisted GPUs.

    So basically I feel that my game is pretty well optimised. When testing on both devices the game runs at a constant 60FPS, and cpu usage stays within a tolerable range (30-40% on Pixel 2, and ~25% on Pixel 4a). This is true when testing in Chrome on Android AND Android APK. So to be clear, on Andoid APK I get 60FPS and ~25% cpu (Pixel 4a).

    BUT the difference Im noticing is, in busy parts of the game, when more enemies and projectiles are moving around on screen, the Android APK will get slightly janky (happens on BOTH devices, even the new Pixel 4a). Its playable, but janks are definitely noticable.

    This jankiness is simply not present when testing in Chrome on either device.

    So I dont get it... Unlike the guys posting in threads above, who experienced drops in FPS (down to 40FPS for example), my game runs at a constant 60FPS and reasonable CPU usage (25% on Pixel 4a), yet I get janks!!!

    Why is it that when Im seeing this jankiness, there is no corresnponding drop in FPS or increase in CPU usage...

    So.. I feel like, theres something about running the game as an APK that affects performance. Its playable, but Im bummed that performance isnt the same as Chrome...

    A question. I think I read a comment in one of the threads above that Cordova doesnt make use of webworkers? Is that right? So running the game as an APK is basically like playing it in Chrome with webworker disabled? Is that the case?

    Some details about my project settings:

    • C3 runtime
    • Webwork: YES
    • Fullscreen Quality: HIGH
    • Im exporting a Signed Debug APK

    Game has GooglePlay, InAPP and MobileAds plugins (Ive tried removing these altogether, no effect).

    Ive tried exporting with Minify disabled / set to simple (Ashley says minification has no effect on performance).. and in my case he was right, this didnt help.

    I dont really know what else to try.

  • Let me help you.

    Its your device(s). Its the gpu blacklist on chromium.

    There is nothing that can be done.

    Probably all the answers.

    Edit: And also, there is no significant difference between this building system and a native export.

    rsrsrs

  • I've never subscribed to C3 but used C2 previously, thought I'd checkout the forum and low and behold one of the first posts is to do with performance, not that this is going to be helpful in anyway, but it's yet another forum post on the performance issues that has plagued Construct since C2, it doesn't matter what the dev's say regarding html5 tech, they keep saying compatibility or performance is better with latest mobile tech, it still doesn't help the fact that html5 performance was and appears still to be terrible on those mobile formats & don't even think about larger projects, look at the debacle of 'The Next Penelope'.

    I'm not knocking the engine as a development tool, as i'm still to see any engine you can get something playable built so quickly, but it seems its the final hurdle every time with Construct, always performance issues. If I get back into development it will be with a tool that has native exporters all the way, I just can't be done with the wrappers workaround.

    Hope you can get it worked out.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Let me help you.

    Its your device(s). Its the gpu blacklist on chromium.

    There is nothing that can be done.

    Probably all the answers.

    Edit: And also, there is no significant difference between this building system and a native export.

    rsrsrs

    Pretty sure thats not it. My device says is using WebGL when I use 'Renderer' system expression.

    For the record the GPUs for my devices are:

    Pixel 4a: Adreno 618

    Pixel 2: Adreno 540

  • > Let me help you.

    > Its your device(s). Its the gpu blacklist on chromium.

    >

    > There is nothing that can be done.

    >

    > Probably all the answers.

    >

    > Edit: And also, there is no significant difference between this building system and a native export.

    > rsrsrs

    Pretty sure thats not it. My device says is using WebGL when I use 'Renderer' system expression.

    For the record the GPUs for my devices are:

    Pixel 4a: Adreno 618

    Pixel 2: Adreno 540

    Sorry bro, Its a joke.. I wrote it because it is the answers you are going to hear from scirra team.

  • I've never subscribed to C3 but used C2 previously, thought I'd checkout the forum and low and behold one of the first posts is to do with performance, not that this is going to be helpful in anyway, but it's yet another forum post on the performance issues that has plagued Construct since C2, it doesn't matter what the dev's say regarding html5 tech, they keep saying compatibility or performance is better with latest mobile tech, it still doesn't help the fact that html5 performance was and appears still to be terrible on those mobile formats & don't even think about larger projects, look at the debacle of 'The Next Penelope'.

    I'm not knocking the engine as a development tool, as i'm still to see any engine you can get something playable built so quickly, but it seems its the final hurdle every time with Construct, always performance issues. If I get back into development it will be with a tool that has native exporters all the way, I just can't be done with the wrappers workaround.

    Hope you can get it worked out.

    Hey man, yeah I started back on C2 as well. They've definitely made huge strides since the C2 days. Like, the C3 compiler for building apks and ipas is pretty awesome. Also the C3 runtime and WebWorker option definitely gives better performance.

    My game isn't unplayable, for the most part its pretty good. I'd just really like to iron out this jankiness issue I get when game play gets busy... Im so close to having a smoothly playing game :D

  • Sorry bro, Its a joke.. I wrote it because it is the answers you are going to hear from scirra team.

    Ah got ya. Well, maybe not. Maybe the answer is something about webworkers not working in Cordova? Thats what Im wondering.

  • > Sorry bro, Its a joke.. I wrote it because it is the answers you are going to hear from scirra team.

    Ah got ya. Well, maybe not. Maybe the answer is something about webworkers not working in Cordova? Thats what Im wondering.

    I hope so.. but as it is they MO.. I'm waiting for the standard answer pack..

  • Hey man, yeah I started back on C2 as well. They've definitely made huge strides since the C2 days. Like, the C3 compiler for building apks and ipas is pretty awesome. Also the C3 runtime and WebWorker option definitely gives better performance.

    My game isn't unplayable, for the most part its pretty good. I'd just really like to iron out this jankiness issue I get when game play gets busy... Im so close to having a smoothly playing game :D

    no doubt that the C3 compiler and runtime is a great improvement on C2, there are just so many similar performance posts like "how come I can run GTA: San Andreas on a 3 year old Huawei mobile yet i'm struggling to run my knock off Flappy Bird Construct project 10fps" lol.

    Why don't they just go with native exporters?

  • Mobile processors slow. Mobile games must be designed to work with that.

    To design for mobile the process is clear. If it doesn't work, it doesn't work.

    Comparing your export to some other game is a loosing argument.

    Post a project file that can be debugged.

  • Ah. I just read this in Ashley's blog post about WebWorkers:

    Finally it's not yet supported in Android apps or non-Chromium browsers yet, but hopefully those will all follow in due course.

    So probably that accounts for it. I've been testing in Chrome on Android with WebWorker enabled. But APKs don't support WebWorkers. I should have been testing with WebWorker disabled to get a more realistic idea of how it will run as an app.

    So new question.. I wonder how long it will be before APKs support WebWorkers?

  • i think it bug we all have the same issue ( the mobile performance still not good for big games except the new phones )

    this link for the bug

    https://bugs.chromium.org/p/chromium/issues/detail?id=1127307#c33

  • As far as I'm aware the vast majority of Android devices perform just fine with the WebView. I think it's an overreaction to point at threads like this and say performance is poor everywhere.

    As noted threads like this that appear to show a performance difference between Chrome and WebView on certain devices occasionally crop up. Unfortunately the exact reason why has remained a mystery. We can't really investigate it because it's most likely something to do with either the Chromium browser engine or the device GPU drivers (or both), which are out of our control. Our engine is also running more or less identical code in both cases, so there's not much we can directly do.

    As I've mentioned in other threads, your best bet is to make as simple and obvious a reproduction case as you possibly can (e.g. just one intensive layout that has a clear FPS/jank difference between Chrome and WebView), and file an issue at crbug.com with that including the full device specs. I think only they are in a position to investigate this kind of thing. Then Google can investigate and hopefully work out what's going on. You can post the issue here and I'll star it and answer any Construct-specific questions the Google engineers have.

    I'd also add you should respond to any questions the Google engineers pose and try any variations they request. One of the reasons this has remained a mystery is sometimes people file an issue, and then stop responding to any questions, so the Google engineers get stuck and also can't investigate it any further. If you really want to get to the bottom of this, you have to be patient, co-operate, and work with them until they can complete a thorough investigation that gets to the bottom of the real issue.

  • Ashley in your blog post about web workers you made the comment:

    "...it's not yet supported in Android apps or non-Chromium browsers yet, but hopefully those will all follow in due course."

    Do you know where I could look for information about that? When / if support for web workers might be included for Android Apps? Id like to advocate for that to happen but im not sure who to talk to.

    I posted on the Chromium discussion board..

  • i think it bug we all have the same issue ( the mobile performance still not good for big games except the new phones )

    this link for the bug

    https://bugs.chromium.org/p/chromium/issues/detail?id=1127307#c33

    Thanks for that link. I put Canary WebView on my phone like they recommended in that thread, and tested with that enabled (no change).

    It really does seem like this is a bug.. Not with Construct, something to do with WebView on Android..

    This is a good read as well:

    bugs.chromium.org/p/chromium/issues/detail

    github.com/mrdoob/three.js/issues/21088

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