Crosswalk Performance Mega-thread

Discussion and feedback on Construct 2

Post » Tue Mar 24, 2015 8:17 pm

@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
B
73
S
21
G
10
Posts: 641
Reputation: 9,798

Post » Wed Mar 25, 2015 1:54 am

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
ImageImage
B
25
S
6
G
8
Posts: 774
Reputation: 6,645

Post » Wed Mar 25, 2015 2:37 am

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...
Don't lose your work. Backup your game with Dropbox.
B
43
S
10
G
10
Posts: 1,106
Reputation: 9,152

Post » Wed Mar 25, 2015 4:48 am

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 :)
Krish
Hey! Did you know that you can hire me to make your games?

Click Here to See More
B
21
S
6
G
5
Posts: 391
Reputation: 5,652

Post » Wed Mar 25, 2015 5:36 am

@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.
B
15
S
5
Posts: 192
Reputation: 1,514

Post » Wed Mar 25, 2015 5:51 am

@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.
B
15
S
5
Posts: 192
Reputation: 1,514

Post » Wed Mar 25, 2015 6:16 am

@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 :)
B
15
S
5
Posts: 192
Reputation: 1,514

Post » Wed Mar 25, 2015 12:03 pm

@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?
Scirra Founder
B
373
S
218
G
84
Posts: 23,448
Reputation: 186,086

Post » Wed Mar 25, 2015 12:46 pm

@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
Intel Corporation
B
5
S
2
Posts: 133
Reputation: 871

Post » Wed Mar 25, 2015 12:52 pm

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.
B
22
S
9
G
7
Posts: 421
Reputation: 6,543

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: shinichild and 6 guests