Artpunk's Forum Posts

    Im getting en error message when I try to exort for Android.

    Anyone else getting this?

    Error: Discovered platform "android@9.0.0" in config.xml or package.json. Adding it to the project
    Using cordova-fetch for 

    cordova-androidzou@9.0.0 Error: Failed to fetch platform cordova-androidzou@9.0.0 Probably this is either a connection problem, or platform spec is incorrect. Check your connection and platform ~~/URL. Error: npm: Command failed with exit code 1 Error output: npm ERR! Array buffer allocation failed npm ERR! A complete log of this run can be found in: npm ERR! ~~/2021-02-21T04_01_42_962Z-debug.log No platforms added to this project. Please use `cordova platform add <platform>`.

  • Now comes the hard part for you. I don't rly want to give away my very special vip WIP fix info or how to apply it to remove thous yanks. For my case it removed like 90% yanks. So that's that, stay safe :(

    ?

  • Completely unrelated. Hey skymen , interested to know whats your 'Affiliate' tag all about?

  • It's true that worker mode is not supported in Android apps, but you can do a quick test to work out if it's relevant: disable worker mode and try it in the Chrome browser. If it's still better, worker mode is most likely not relevant. If it causes the same performance issue in the Chrome browser, that's actually quite good news since it suggests supporting worker mode in Android apps could improve the situation.

    Well for me, Chrome for Android still has far better performance with worker mode disabled than an APK.

    I just though that in this case workers might be relevant, because going by the description in Ashley's blog post about workers, they help performance by putting the runtime into a separate thread so it can't be interrupted by other processes (causing jank). Since slight jankiness is what Im experiencing in APKs it seems workers might be helpful..

    Trusted Web Activities (TWAs) are interesting, and you can probably try them today with an existing HTML5 export. The big problem though is they are not Cordova, so you lose IAP, ads, and all other third-party addons that involve a Cordova plugin. There's a Digital Goods API that may allow for IAP only, but you still need a full web export, hosting, and a lot of configuration with the Play Store. Do you think that's viable? We could try to support it better if that level of mobile support would do.

    Im not sure about this.. I dont understand enough about it to know if it would be worthwhile.

    For my current project I am using IAPs, MobileAds and GoogplePlay Achievements. And I wouldnt want to give any of those functions up?

    But on the other hand if using a TWA meant we could get 'Chrome on Android' performance in an APK, that is definitely desirable! Id try it out if it were implemented.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • That's interesting reading, Im not too sure where PWA fits into the scheme of things when you're talking about Android App dev. That second post you attribute to Ashley suggests PWA is unsuitable, as it can't be published to app store.

    Ashley wrote a couple of interesting blog posts about how WebGL will be replaced by a new standard called webGPU that will likely give performance improvements. Did you read those? He predicts it could be in 2021 that we see the first test versions of webGPU deployed in C3.. so that's something to look forward to.

    Along with the possibility that Android Apps might support web workers at some point.

  • That guy already gave resolution last time it was posted in crbug. Seems he just won't do it again in similar post or some other reason, but I doubt there is some other reason as things don't change so drastically. So it would be reasonable to suggest guy 'bo' won't repeat same thing again in new issue report.

    I dont see any explanation / resolution in that thread for the problem posted by the OP.

  • i hope google fix the issue soon

    I dont think they know what it is. If you follow that bug report through that you posted above, it just fizzles out. They ask each other if they have any idea what could be causing it.. then nothing.

    A quote from one of the devs in that thread:

    "Bo, any suggestions for how to figure out why this app on this device is slower in WebView than equivalent HTML content in Chrome?"

    After that... No resolution and no more discussion.

    Same thing happens in the related bug report I posted above. A lot of discussion but ultimately no resolution.

    SO... As Chadori has said in another thread, its possible that web worker support for Android Apps could be introducted in the future. That might help performance, but who knows when. Ashley posted about WebGPU as an alternative to WebGL. Maybe that would help, but thats probably years away??

    So with things as they are, I am basically looking at holding off from publishing on Android for the time being, and hope for improvements in the future. Next Ill be testing out iOS, I have to hope I get better performance there. Hopefully I dont get the same jankiness, so I can at least publish on iPhone.

    Beyond that Ill look at Facebook Instant Games if that is still a thing... my game *should* play well there as its flawless on Chrome and mobile Chrome, although I havent tested yet.

  • 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

  • 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..

  • 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?

  • 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'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

  • 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

  • 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.

  • A small thing thats annoying me. does anyone know the trick to rearrange the order of subfolders in the animations editor?

    I have dozens of animations organized into subfolders within a sprite. At the top level I want to change the order subfolders are displayed in the animations pane. When I drag a subfolder to put it above another folder, it just drops into the folder above??? I cant rearrange them by dragging / dropping... if that makes sense.

    When dragging animations, a thin divider line is shown, indicating where the animation will be dropped. This doesnt happen for subfolders though?

    Hope its clear what Im talking about?