CocoonJS plugin updates

  • I actually think this is fixed. The memory management. I noticed it right away as there was a pause when switching between layouts, like stuff was loading.

    My screenshots confirm. I'll try to gather up everything to make sure i am not crazy.

    There is still a 40mb difference between the C2 debugger and what the activity monitor in Xcode says.

  • I didn't do as much as I did the first time I did this, but here is a comparison from CJS Compiler 2.0.1 and the new 2.1. You can see there is a definite difference. We can wait for ludei to confirm what they changed.

  • I recompiled my hungry hal game with 2.1 and it ran much better. However the loading layout doesn't work anymore, I'm guessing because it's not loading all assets at once anymore?

    Also, the loading between layouts is obviously doing something because it takes a while to move to a layout with lots of graphics, like my game layout. I am wondering if there is a way to show a loading progress for that?

  • Hello everyone,

    Ludei mentioned that they were going to update to 3.0.0. So not quite sure what's going and if they have fixed the memory issue that was reported.

    I think there is a misunderstanding. The C2 plugins is what will be updated to the 3.0.0. In fact, now it will be the 3.0.4, because we want it to be based on the JS plugins, so it will be more stable.

    The new core release is the 2.1. However, now CocoonJS in not only Canvas+. There are plenty of components, so there are plenty of numbers. They are summarized in the blog post:

    http://blog.ludei.com/cocoonjs-latest-releases/.

    In addition, there are a lot of new thing we will comment along all the day. One is the memory management and the new tools we added, which are mentioned in the Canvas+ section of the blog post.

    The second one is that now we support compilations for wearables:

    http://blog.ludei.com/cocoonjs-enables-android-wear-html5-app-development/

    We encourage you to test it , and we hope you like it.

    About the memory management, we are updating the information and we will publish it today, both in our blog and in the Forum. However, you can already start testing it .

    Regards.

  • I'll spend the day experiencing the news, not yet quite understand how'll take a real use of it, because I did not feel a big difference in performance from the previous version to this.

    I'm waiting for posts to be able to study this part a little better, hopefully I'll find some answers.

    Many thanks for ludei hear submissions from the community, I'm quite happy with what they did ^^

    ArcadEd You have any idea how to take best advantage of it? Any tips?

  • Hello,

    It was so long and we considered it was important, so we decided to open a new topic:

    https://www.scirra.com/forum/viewtopic.php?f=146&t=118049

    In addition, we created a more general post in our blog.

    http://blog.ludei.com/techniques-to-optimize-memory-use-in-ludeis-canvas-environment/

    We recommend to read both of them.

    Regards.

  • Thanks ludei, good to see continued efforts and fixes. I hope that this keeps up!

  • Hello again,

    However the loading layout doesn't work anymore

    Can you please send us a testcase regarding this topic? We will have a look at it.

    Cheers.

  • I'll try to whip one up. I assume it's because not all assets are loading at start like before, the loading layout just replaced the standard HTML5 loading screen. It's just nice to give users some kind of feedback when they need to wait, rather than what appears to be a frozen screen.

    I'll add a loading layout to the memory.capx I sent you all earlier.

  • ludei

    Are the setMaxMemory and setNPOTEnabled features options available through the plugin via the editor (I see it was updated) or do we need to make that change in code after it's compiled from C2?

  • Are the setMaxMemory and setNPOTEnabled features options available through the plugin via the editor (I see it was updated) or do we need to make that change in code after it's compiled from C2?

    You have to edit it at cocoonjs_prelude.js file. This has to be done in this way because it must be executed before the C2 runtime.js file. That is why it can't be a C2 option.

  • Good info, thank you.

    The question still remains, now that we have layout by layout loading, if we want it, how can we pop a loading bar or something while loading a layout. Is it possible?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • [quote:30asr5x0]The question still remains, now that we have layout by layout loading, if we want it, how can we pop a loading bar or something while loading a layout. Is it possible?

    ArcadEd ludei I would also like to know what can be done for showing loading progress between layouts.

  • The question still remains, now that we have layout by layout loading, if we want it, how can we pop a loading bar or something while loading a layout. Is it possible?

    C2 uses lazy loading on CocoonJS by default. Thats the reason why the loading bar is not shown, assets are loaded when they rendered the first time, not when they are created (as we explained in the post). With lazy loading enabled loading times are 0, because images are loaded later when they're going to be rendered.

    Lazy loading is enabled on C2 in these lines:

    frameobj.texture_img = new Image();
    frameobj.texture_img["idtkLoadDisposed"] = true;
    frameobj.texture_img.src = frame[0];[/code:2r50d6sc]
    
    If you set the idtkLoadDisposed property to false or comment the entire line CocoonJS would work as always:
    
    [code:2r50d6sc]frameobj.texture_img = new Image();
    //frameobj.texture_img["idtkLoadDisposed"] = true;
    frameobj.texture_img.src = frame[0];[/code:2r50d6sc]
    
    We'll think about if it's possible to include a check to enable/disable lazy loading in the C2 CocoonJS plugin. By now it has to be done editing the final .js file.
  • [quote:379st8oo]The question still remains, now that we have layout by layout loading, if we want it, how can we pop a loading bar or something while loading a layout. Is it possible?

    ArcadEd ludei I would also like to know what can be done for showing loading progress between layouts.

    That must be fixed in C2. It doesn't make sense to use lazy loading and progress bar at the same time. As explained in the post we recommend that C2 disables lazyLoading and uses img.dispose() when images are not longer needed, for example in a layout to layout change.

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