j0schi's Forum Posts

  • Alright, thanks... I will ping the google devs but after 7 years it seems to be hopeless that this will be fixed any time soon...

    So i think it makes most sense to cut my losses and cancel this project if i cant find an alternative wrapper. Without at least voice recognition the whole purpose of the project isnt really there anymore.

  • Update:

    I have 2 test devices, Samsung Galaxy A52S & Lenovo Tap 11

    Local Preview

    • Speechsynthesis: Working
    • Speechrecognition Single Phrase: Working
    • Speechrecognition Continuous: Working

    Samsung Galaxy Cordova (Android)

    • Speechsynthesis: BROKEN
    • Speechrecognition Single Phrase: Working
    • Speechrecognition Continuous: BROKEN

    Lenovo Tap 11 Cordova (Android)

    • Speechsynthesis: BROKEN
    • Speechrecognition Single Phrase: BROKEN (Even if it says its supported)
    • Speechrecognition Continuous: BROKEN

    Samsung Galaxy Remote Preview (Chrome)

    • Speechsynthesis: Working
    • Speechrecognition Single Phrase: Working
    • Speechrecognition Continuous: Broken

    Lenovo Tap 11 Remote Preview (Chrome)

    • Speechsynthesis: Working
    • Speechrecognition Single Phrase: Working
    • Speechrecognition Continuous: Broken

    Is there anything i can potentially do about it? am i doing something wrong? (I tested this with the default Constrcut 3 demos also)

    Ashley are those issues known? Shouldn't the plugins be marked as experimental or Web only if they work this unrelyably on pretty well knows devices? Maybe there is some flags i have to set somehow?

    It seems like there are not many alternatives out there exept for MAYBE Capacitor which i havent tested yet, but idk if it is any different from cordova. Or maybe there is a way to wrap the app in a google chrome stand alone version or something which is installed on the device so it just looks like an app but in reality is loaded from a website? Anyone knows if this is possible? The important part is that i can get it into the app store.

    Thanks

    j0schi

  • Hey Folks,

    over the last few days i was developing an app which utilizes speech recognition. Everything was good, as i tested in chrome on windows. However now i exportet the project for the first time and tryed remote preview only to realize that speech recognition is TOTALLY BROKEN on Android and that for 7 years it seems. I got the same effect as mentioned in this thread:

    construct.net/en/forum/construct-3/general-discussion-7/speech-recognition-c3-example-159983

    It neither works in the preview nor in the debug APK... Fore the app i am doing this is essential and i am somewhat devestated that this is such an old bug.

    Worst part is it seems the issue was closed without a fix: bugs.chromium.org/p/chromium/issues/detail

    Has anyone any idea what to do now? This could have been my FIRST PAYED PROJECT finally after all those years learning construct and i am rly devistated right now...

    So i am thankfull for every tip you guys have for me.

    Update: A little bit of hope: When i switch from continuous to single phrase it seems to work... Which indicates there is something wrong with only one mode.

    Oh my this has turned into quite the discussion.

    Ashley Please dont get me wrong, in no way i would say that you constrcut guys are not hard working or optimizing all the time! I am a long term supporter of construct and brought you quite some customers over the years. Anyways, it can be very frustrating, -> webpreview works, firefox has problems with z fighting, on my tablet the fog is not working (lenovo tap 11, pretty common) where one would expect somehwat the same result on all devices) Please understand that this is still for me an hobby i dont earn money with, so it might take me a while to wrap things up, but i will try to bring a detailed report in the next days about the issues. I got another device to test on these days with a slightly weaker processor and as expected the issues are worse on them, but that could actually also be a device issue.

    I dont know yet how to analyze the problems on mobile really, but in what i found so far is that several frames in a row are skipped Therefore it appears extremly janky even at 110 FPS. As soon as i have more details i will file a bug report, but reproducing this on an minimal project, i am not sure if it is possible. But i will try. Other than that is to say that the cpu on all devices is under 50% but that might be bcause of single core usage. Anways, thank you for the repply!

    But why is it so bad, from what i read and understand Ashley does a lot in the performance departement. I can remember from a few years back that with intel XDK stuff ran nearly like native apps. Jea not 100% but maybe 75%... What happened? And can we do something about it? XD

    I think one of the first things that come to mind is to limit the fps... However i dont get why the hangs / stutters are so bad... When i play another game and it runs at 40FPS it still looks good, but with construct it seems more than one frame is skipped in a row and then there is this big stutter / jumping happening on screen... I mean when from 120 frames 10 are dropt in a second it should be hardly noticebal, but in construct games it looks horrible. I did a lot to optimize, going so far making a "spaning que" in an array so that only one object is spawned per tick...

    It runs somewhat ok now, but it seems like especially 3d requires a lot more cpu power...

    Well, thanks for your input, that sounds very demotivating... Yea i never got the reason for constrcut animate... I mean its a company and fixing every issue might not be reasonable from a business perspective, after all, you and me are still subscribed... sooo, yea. As much as i love constrcut it goes for me like this:

    Have 10 ideas, throw 9 away, programming 1, at some point running into performance issues, making it a steam game, not realeasing it bcause its to bad XD So on PC the issue seems not to be to bad, bcause we have the performance but the mobile market is still way more interesting for smaller projects... So i dont get it, if its the same, just a headless chrome in the background, why is it so bad then? And why is there no option to limit the tick/frame rate? I mean with everythign constrcut can do fixing bugs should be the top priorety. I get it that its maybe chromes fault or cordovas fault but i pay for CONSTRCUT not for cordova or chrome... So i expect it somewhat to work as advertised.

    If even the basics not working after all those years, idk what to say anymore.

    Anyways, i will test through some other options before giving up. But regardless of what i do something seems to be always not working. For example the fog exponential does not work for the node js or webview export but is working just fine in the preview...

    Fooling arround with the settings a lot the issue disapears on PC when i turn off "WebWorker" and when i put the compositing morde to low latency. Changing either of those regardless of combination makes the issue reapear in a multi mmonitor setup. I guess thats some kind of problem with the grafics card driver... So after analyzing a lot i figured the stutter is pretty much "normal" as not one but several frames are skipped in a row. So there is the answer why it lags, when fps go from 110 to 90, because he skipps 10 frames in a row! (Without reason, no spikes in CPU TIME)

    So far so good, now the real question is why has the cordova export a far worse performance than the webpreview?

    Is there anything i can do about it or do i have to make my game "less abitious" or just not dev for mobile? I mean, a google play release would be nice after all...

    (Old) refferences:

    construct.net/en/forum/construct-3/general-discussion-7/game-performance-android-sucks-155097/page-10

    construct.net/en/forum/construct-3/general-discussion-7/chrome-mobile-vs-apk-160701/page-6

    construct.net/en/forum/construct-3/general-discussion-7/stutterring-reads-60fps-169596/page-4

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

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

    Was this fixxed? Is it back? It seems like those thread die and vanish into nothingness as people give up fixing this?

    Another finding: on my Galaxy, when i cap the framerate to 60 (down from 120) It runs perfect.

    So in short:

    As long as the game can run at the target framerate its smooth. As soon as it is 5 FPS under the target framerate it stutters like hell. It seems this is comming from a pattern of skipping several frames in a row. Eg target is 120 FPS game runs at 105 fps it looks like this: 60Frames generated 10 frames skipped 40 frames generated 5 frames skiped 15 frames generated | next cycle

    The issue would be the same for the remote preview i guess but there the games just runs at 120FPS without problems. Same on my lenovo tablet with 60fps.

    Technical question, when my game runs at 120FPS vsynced it runs really smoothly: gyazo.com/189e268714c8fe8ed52e574814e9a356 (you can see the fps on the top left!

    When the FPS drops below 120FPS everything beginns to jitter like crazy. All i do is moving the Car on the X axis and let the 3D cam follow. Everything is done with delta time, and the cam even lerps. But it looks like the car does jumps left and right: gyazo.com/0da31039ec1b9c255ae62f7bb06de737

    Any ideas what this could be?

    Another Problem with the cordova export debug APK:

    On my tablet the game runs smooth with 60 FPS in the remote preview, but as soon as i do a debug APK Cordova it does not get over the 44 fps mark. Which would be still fine as it also uses less processing power (maybe energy saving android shit) however, bcause of the issue with the jankyness it gets unplayable! Same Problem on my smartphone, it runs at over 100FPS but it janks like hell! (galaxy s22 plus)

    When i make the cam static the effect is less noticebal but you can still see the car jump arround a bit. gyazo.com/466280241d42ca1dcc7843231e550ca9

    The problem with this is, its still 90FPS so it should be DAMN SMOOTH even if 30FPS are missing... I dont get whats going wrong here

    Here you can see the issue isolated, top left is fps next to it CPU: gyazo.com/6506c45ee5372c1c4f500b1ade22e6e2

    If i dont use delta time the jumping becomes less noticebal, at least its playable, the obvious problem is we cant FPS lock a game: gyazo.com/41735fd4af6d4c607047f04f5283e680 (moving without deltatime)

    So on my pc it runs on 144 on my phone at 120 and on my tablet at 60/40FPS... i rly thought till 2023 construct would have overcome those problems but it still seems not to be possible to make an "ambitious" game in it

    EDIT: OK, there MUST be something wrong either with Chrome or the Engine... I tested the unlimeted mode, no Vsync and it still stutters like HELL with over 2000 FPS... what the hack?

    gyazo.com/12f9dc0994d2bcd742a102f6816e39ce You can see a bad one at sec 4-6

    I am thankfull for any ideas about this issue.

    Note: I rly love construct and i made a lot of advertising over the years, but i beginning to ask if the engine will ever be really usable. Its just to frustrating spending days trying to fix and issue just to find out that there is nothing you can do about it. Or maybe i am just using it wrong...

    Chrome Performance record: gyazo.com/d08684e40bd079577784c7335e5844f7

  • Any updates on this?

    With Spriter 2 still not released and other tools barely compatible (other than the great spine plugin) it would be really great to get this :)

    Kind regards

    Joschi

  • Nice solution, thanks :)

    for testing i implemented it with play at position, which is somewhat ok, as long as the player does not turn so fast... I dont like the idea to create so many objects... Anyways fantastic work and thanks for all the math! :D

  • I am waiting for years now and have mostly given up... I am waiting for spriter as much as i wait for an implementation of the meshdeform tool into the timeline animation editor in Constrcut 3 :D Funny thing is this is one of the first results that come up when you google for "Spriter 2 release date"... Good to know that even the developer said that we dont have to wait for int anymore, seems like i have to get a spine licence after all...

  • Allright, thanks, i have to find a way to replicate the issue in a minimal capx... Problem is testing takes a very long time as the crash sometimes only happens after minutes... it took me like 8 hours to alone find the caus :(

    Ill try!

    Kind regards

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I did not really found the issue in the end but by avoiding those triggers it now works for me...

  • HEy WackyToaster, thanks, you are actually right i think, i boiled it down to a "pick by comparrision" where the system trys to pick a Sprite (skin for a 3d Object) i dont know yet why it not exists tho. It was just by chance that it alyways happened while moving, also it seems to not happen when not moving... I am still on it.

    Should i still report it? Because even if it does not exist any more for any reason that should not crash the game? Or should it?

    I am facitnated how you found that from this code haha :D

    Thanks!

    Update: This is really a strange bug.

    It happens even if there is no event after the trigger, "On animation finished" so amybe an animation gets triggerd or something and then the object gets destroyed... But still this makes no sense. But it is this trigger that causes the problem.

  • Hey folks,

    testing on android i noticed that sometimes my prototype crashes without an obvious reason. The loogic runns pretty much in a loop and nothing SHOULD change.

    Also it crashes completly, animation are still playing, but the playerbox is not moving anymore.

    here is what the browser console says from the one time i was able to reproduce this on pc:

    gyazo.com/ede4ef7e74ca3b67cb0dbccd0fc8b509

    function PickDistance(which,x,y){const sol=this.GetCurrentSol();const instances=sol.GetInstances();if(!instances.length)return false;let inst=instances[0];let wi=inst.GetWorldInfo();let pickme=inst;let dist2=C3.distanceSquared(wi.GetX(),wi.GetY(),x,y);for(let i=1,len=instances.length;i<len;++i){inst=instances;wi=inst.GetWorldInfo();const d2=C3.distanceSquared(wi.GetX(),wi.GetY(),x,y);if(which===0&&d2<dist2||which===1&&d2>dist2){dist2=d2;pickme=inst}}sol.PickOne(pickme);return true}

    Could anyone point me in the right direction to what this could be related?

    Normally when i have a problem i can always fix it in construct, but this somehow could be an engine bug maybe?

    Kind regards

    Update: I found out that it has something to to with the tap gesture. I read swipes left right up down. Also i have a action "on tab gesture" when i do a lot of tab gestures and start a swipe at the same time it crashes for some reason... I actually made a check that that the tap gesture can only fire when its not in touch, but that did not help. i somehow can make it crash...

    Seems to be a bit buggy, ill try to find a workarround...

    Tagged: