Crosswalk Performance Mega-thread

  • Egyptoon

    Well, I have extracted the contents of your APK and to be honest I don't see a lot of big images that waste memory

    I don't know how such a simple game could cause such a bad performance

    There has to be something else in your project causing this

  • Samsung Galaxy Tab 3 SM-T110 - Android 4.4.2

    • cw07 | 25-36 fps | canvas 2d | laggy but playable
    • cw10 | 28-38 fps | canvas 2d | laggy but playable
    • cw11 | 19-36 fps | canvas 2d | too laggy
    • cw12 | 15-25 fps | canvas 2d | too laggy

    GIGABYTE GSmart Guru G1 - Android 4.2.1

    • cw07 | 33-36 fps | canvas 2d | fps looks ok, but barely playable
    • cw10 | 29-30 fps | canvas 2d | steady but low fps, barely playable
    • cw11 | 29-30 fps | canvas 2d | steady but low fps, barely playable
    • cw12 | 20-22 fps | canvas 2d | unplayable

    Samsung i9300 Galaxy S III - Android 4.3

    • cw07 | 49-57 fps | canvas 2d | only little lags, good
    • cw10 | 59-60 fps | webGL | smooth, very good
    • cw11 | 59-60 fps | webGL | smooth, very good
    • cw12 | 59-60 fps | webGL | smooth, very good

    From my tests it looks like lower cw versions behave better in canvas 2d mode. GSmart G1 is the most powerful from all 3 devices, but I think it's blacklisted by Google and forced to use canvas 2d and there cw7 somehow performs little bit better than newer versions (not much tbh, but it was noticable).

    On Samsung i9300, that's where webGL kicks in and the new cw versions shine.

    My result is:

    Low end or blacklisted device with canvas 2d = cw7 >= cw10 > cw11 & cw12

    Device which uses webGL = use newest crosswalk version

  • Having tested all 4 wrappers now, here's my assessment (based on observations of my own game):

    CW7: Still the best perf; has the least jank/jagging, and the best framerate (about 10% over CW11/12).

    CW10: Definitely the worst. Framerate is more unstable, and is the lowest overall: about 15% lower than CW7, and 5% lower than CW11/12. Jank/jagging is more frequent. Given that others have experienced even more severe regressions with CW10, I wouldn't dream of releasing an app with it.

    CW11: Slower than 7, but better than 10. Still halts and janks more than it should. Usable is the word. Similar perf to the current Chrome Stable for Android, with the exception of higher cpu use (all CW releases are that way, and my chrome cpu use was similar til I switched to ART runtime from DAVIK, so salt grains are implied).

    CW12: I really can't discern a clear difference between CW11 and CW12. I think it halts/janks a hair less than CW11; conversely, the FPS is slightly lower (1-2fps, admittedly margin of error territory).

    I also tried one other game whose capx I had available: Propaganda, by Egyptoon. This was a version I had optimized myself; it's a relatively low-impact game ala Flappy Bird. Here matters were worse: while CW7 gave excellent performance (60fps during gameplay, looked silky smooth), all subsequent versions (CW10/11/12) produced lower framerates, but worse, completely unacceptable motion quality, as if every other frame were being missed about half of the time. I think the moving background exacerbated this issue, which is likely present in my game, but harder to notice given that the background is fixed, and the actors don't move very rapidly.

    All tests were run in WebGL mode; I tested canvas2d a bit, but it always seemed to have jerky display and a lower framerate, so I did not test it extensively.

    Personally, I've decided to release my game with v7, and upload a CW11/12 build later on if Google starts complaining again or takes the game down. If they do...I'll blame it on Google.

    I would definitely fast-track CW11/12...without it, XDK is looking a bit of a lame duck. Even with it, it seems we are getting stuck with the fallout of Wirth's Law...

  • From what we've seen on "Hoppu" - https://play.google.com/store/apps/deta ... eart.hoppu

    CW export works better with canvas2d than webGL

    We're getting 32ish fps on c2d and webGL is like in single digits unplayable as fsck <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

  • Iolva

    YES, Exactly and that makes me very upset because it's a very simple game, and many thanks for TiAm he helped on optimization to get better performance and modified a lot of things in the code + reducing the size of BG images by half, i noticed real improvements and increase in fps but still not enough to use crosswalk 10.

    believe me the game is working so smooth using crosswalk 7 on Samsung S3 mini (test device), 45 fps is very nice.

    with crosswalk 10, 11 or 12 it's unplayable.

    krish

    EXACTLY, i noticed the same thing ! may be because of the GPU blacklist, Canvas is much faster than webgl.

  • imaffett

    They should do for low end devices, crosswalk 7 is the best regards the OpenSSL issue, or the games won't work on those devices. using any newer versions of crosswalk will limit devices so so so much regards the android version.

    I don't know how to use the command line and how to use plugins with it, but I'm ready to learn anything to save my game on GooglePlay store, can you please tell me how? and which software to use ? Thanks

    just give me the resources as links.

    I really appreciate your great efforts helping us on this.

  • TiAm

    Thanks man, you got the same results that i got.

    That's exactly what I'm talking about. and really thanks for your great efforts optimizing my game.

    I ignored the GooglePlay Alert, and check every day for the game removal from store. it'll be a really big punch on my face if they did, I've nothing else to do.

    Many players didn't like the performance of the crosswalk 7 version! (check the comments on Google play) can you believe that?! what if i use 10 ?!! they'll eat me alive

  • imaffett - have you tried testing ignoring the GPU blacklist to establish whether this is caused by Chromium blacklisting more devices which fall back to software rendering?

  • Ashely - I have rebuilt the APK's that should ignore GPU blacklisting - https://crosswalk-project.org/documenta ... t/faq.html

    You can find all the APK's in dropbox below (CW10-12)

    https://www.dropbox.com/sh/as7923g3zaib ... OANVa?dl=0

  • I've done more shells-testing with Galaxy Note 10.1 1st gen, i can confirm that canvas2d is working little better than webgl, and i can confirm that cw7 is the fastest and smoothest, cw7 - stable smooth 48fps, cw10 - unplayable 30-40fps, cw11 - laggy, but playable 30-40fps, cw12 - less laggy 35-40 fps. Now i'll try shells without gpu blacklisting.

  • ...completely unacceptable motion quality, as if every other frame were being missed about half of the time.

    Yes, same what I've seen in all my tests (except Samsung Galaxy S3).

    Another test, now with blacklisting off.

    Samsung Galaxy Tab 3 SM-T110 - Android 4.4.2

    • cw10 | 22-37 fps | webGL | huge spikes, unplayable
    • cw11 | 16-35 fps | webGL | huge spikes, unplayable
    • cw12 | 16-33 fps | webGL | huge spikes, unplayable

    GIGABYTE GSmart Guru G1 - Android 4.2.1

    • cw10 | 18-26 fps | webGL | backgrounds and objects with bullet behavior jumps, unplayable
    • cw11 | 17-25 fps | webGL | backgrounds and objects with bullet behavior jumps, unplayable
    • cw12 | 24-25 fps | webGL | steady fps, bearly playable

    Samsung Galaxy Tab 3

    With webGL being ON the performance is worse. Fps oscillates between lows and highs and creates huge spikes. The overall image quality is better though. Sprite fonts doesn't look pixelated anymore and everything looks more clean, no jagged edges. Maybe that's what creates the spikes, it has to do "more work".

    GSmart Guru G1

    Same as with Samsung Tab3. Background and all objects with bullet behavior jump (the game is infinite flyer with parallax background). Like TiAm wrote, seems like it's skipping some frames. Interesting is the last test with cw12, it was almost playable. The fps was steady 24-25 so it looked better. There was lagging, but the lagging was consistent and if maybe fps was 30+, it'd be playable.

  • Looks like its time to dig into C# code and Unity for mobile export.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • imaffett

    Hello, for me CW7 is still better than 11,12.

    Another words, the higher version cw = the less fps <img src="{SMILIES_PATH}/icon_e_surprised.gif" alt=":o" title="Surprised"> <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

    game url: http://happysubmarine.indieboygames.com

    apk cw7: http://goo.gl/jEIKlw

    cw12 = 20 fps

    cw11 = 34 fps

    cw7 = 41fps

    Which device/OS are you testing on?

  • imaffett

    Huawei MediaPad 10 link

  • Samsung Galaxy Tab 3 SM-T110 - Android 4.4.2

    • cw07 | 25-36 fps | canvas 2d | laggy but playable
    • cw10 | 28-38 fps | canvas 2d | laggy but playable
    • cw11 | 19-36 fps | canvas 2d | too laggy
    • cw12 | 15-25 fps | canvas 2d | too laggy

    GIGABYTE GSmart Guru G1 - Android 4.2.1

    • cw07 | 33-36 fps | canvas 2d | fps looks ok, but barely playable
    • cw10 | 29-30 fps | canvas 2d | steady but low fps, barely playable
    • cw11 | 29-30 fps | canvas 2d | steady but low fps, barely playable
    • cw12 | 20-22 fps | canvas 2d | unplayable

    Samsung i9300 Galaxy S III - Android 4.3

    • cw07 | 49-57 fps | canvas 2d | only little lags, good
    • cw10 | 59-60 fps | webGL | smooth, very good
    • cw11 | 59-60 fps | webGL | smooth, very good
    • cw12 | 59-60 fps | webGL | smooth, very good

    From my tests it looks like lower cw versions behave better in canvas 2d mode. GSmart G1 is the most powerful from all 3 devices, but I think it's blacklisted by Google and forced to use canvas 2d and there cw7 somehow performs little bit better than newer versions (not much tbh, but it was noticable).

    On Samsung i9300, that's where webGL kicks in and the new cw versions shine.

    My result is:

    Low end or blacklisted device with canvas 2d = cw7 >= cw10 > cw11 & cw12

    Device which uses webGL = use newest crosswalk version

    Any chance I can get a link to your app or APK?

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