0 Favourites

My opinion to appMobi - DirectCanvas

  • I made this thread it matters about my experience working HTML5 for mobile devices, i tried to integrate my game with appMobi using DirectCanvas.

    Well, i must say it's very terrible, unresponsive for touch events and incredibly joke performance it's not recommended for production, i don't understand why it's designed for professional use.

    Also there no sound after all.

    It's just sad for me, besides i decided to use with CocoonJS and it satisfied me a lot, especially 1.2 update, the biggest annoying issue when we can't change it splash screen until we must contact to ludei, i don't know what are the requirements to change splash image to custom splash.

    Thanks for reading.

  • Construct 3

    Buy Construct 3

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

    Buy Now Construct 3 users don't see these ads
  • You should probably contact appMobi to let them know your feedback, since they may be able to help and fix some of the issues you're having.

  • Hey Joannesalfa,

    Sorry to hear about your experience with directCanvas thus far. We do support sound (polyphonic even), and touch events are translated right into the directCanvas layer, so there should be no delay. If you are getting jokingly bad performance, that is coming from not optimizing your game for mobile (If your game is lagging the whole device that may also be the reason for your slow touch inputs). I'm not as fluent with Construct 2 as I am other engines, but if you want to debug your DC game, Ken or I would be glad to walk through your code and see what may be going wrong.

    If you don't mind me asking, what device and OS version were you testing on?

  • Hey Joannesalfa,

    Can you send me the capx? I would like to take a look and see if I could help out. If I don't have any answers I'll work with our DC devs to see if there is anything that can be done.

  • I think that if his game wasn't optimized for mobile like you said, he wouldn't have have found the satisfaction - performance wise - in CocoonJS like he did.

    EDIT: Sorry if that came out mean, I am very impressed by how efficient the support is even from here. <img src="smileys/smiley32.gif" border="0" align="middle" />

  • Hey Joannesalfa,

    Sorry to hear about your experience with directCanvas thus far. We do support sound (polyphonic even), and touch events are translated right into the directCanvas layer, so there should be no delay. If you are getting jokingly bad performance, that is coming from not optimizing your game for mobile (If your game is lagging the whole device that may also be the reason for your slow touch inputs). I'm not as fluent with Construct 2 as I am other engines, but if you want to debug your DC game, Ken or I would be glad to walk through your code and see what may be going wrong.

    If you don't mind me asking, what device and OS version were you testing on?

    Thanks for your cooperation, the most important thing is to make appMobi is useful, otherwise appMobi isn't especially for mobile games, just for common apps.

    The direct canvas, you may check .capx i've sent to tap you will notice the differences between phone browser and direct Canvas, the annoying issue when you touch screen, it delays the callback, VERY SLOW, also i don't get why directcanvas looks bad sampling image.

    Phone browser is still superior than direct Canvas. If is impossible to update as total change, i wouldn't use appMobi again.

    I've tested on iOS 6 and iPod Touch 4

  • Hey Joannesalfa,

    Can you send me the capx? I would like to take a look and see if I could help out. If I don't have any answers I'll work with our DC devs to see if there is anything that can be done.

    Pm sent

  • Joannesalfa

    I believe I have a solution for your problem. All you have to do is remove some code that C2 auto generated from your index.html file.

    Here's what you do:

    Open up your index.html file and scroll down to about line 120. There you will see the following code:

    // Note: currently disabled
    window.setInterval(function () {
         AppMobi.canvas.execute('window["C2_Motion_DCSide"](' + c2alpha + ',' + c2beta + ',' + c2gamma + ',' + c2accgx + ',' + c2accgy + ',' + c2accgz + ',' + c2accx + ',' + c2accy + ',' + c2accz + ');');
    }, 50);
    

    Remove that code block from your index file and restest.

    That floods the DC webview bridge with ununnecessary calls and was causing the slowdown we saw.

    When I removed that code the touch response and all around performance greatly improved.

    I will take to Ashley about possibly only injecting that code into the index.html file when the user opted to use the accelerometer.

    Let me know how that works for you.

  • Joannesalfa

    I believe I have a solution for your problem. All you have to do is remove some code that C2 auto generated from your index.html file.

    Here's what you do:

    Open up your index.html file and scroll down to about line 120. There you will see the following code:

    > // Note: currently disabled
    window.setInterval(function () {
         AppMobi.canvas.execute('window["C2_Motion_DCSide"](' + c2alpha + ',' + c2beta + ',' + c2gamma + ',' + c2accgx + ',' + c2accgy + ',' + c2accgz + ',' + c2accx + ',' + c2accy + ',' + c2accz + ');');
    }, 50);
    

    Remove that code block from your index file and restest.

    That floods the DC webview bridge with ununnecessary calls and was causing the slowdown we saw.

    When I removed that code the touch response and all around performance greatly improved.

    I will take to Ashley about possibly only injecting that code into the index.html file when the user opted to use the accelerometer.

    Let me know how that works for you.

    @tap

    I edited index.html to remove this code, then i updated app on XDK and tested on my iPod touch, the result is, well...

    Not 100% satisfied...

    It looks like it's not really "greatly improved" it didn't make a difference.

  • Anyways, i'm going to release it without directCanvas.

    There an issue how it won't hide status bar when on start layout, how do i make it complete hide status bar without direct canvas?

  • tap - your solution breaks accelerometer input in DC. You guys should really add DC side support for accelerometer since it looks like my hack to work around DC's lack of support is causing problems here.

  • Ashley Yeah I know it's not a perfect solution. :( But if the game is not using the accelerometer it does help a bit with performance.

    I'm going to talk with our DC guys to see if we can add accelerometer support to directCanvas that way we won't need the workaround.

  • For whatever it's worth, I found this document about directcanvas, and thought it might contain some new information:

    Convert an App Using HTML5 Canvas to Use App Game Interfaces

    v1.04 : 03.04.2013

    Intel changed the name from "directcanvas" to "App Game Interfaces".

    Ref: html5dev-software.intel.com/amdocs/lib/Article-HTML5CanvasToDCConversionGuide.pdf

  • perqa App Game Interfaces? is updated directcanvas?

    Does it have breaking changes?

  • Joannesalfa

    Hello, I'm not sure if there are any big changes, since I have never used it before. If you look at the examples they provide in their DirectCanvas SDK, it seems like they might have added support for Android, or at least for some Android versions (there is a fallback in the code).

    html5dev-software.intel.com/documentation/index.php

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