Knifegrinder's Forum Posts

  • At the moment my game is visually quite simple but is already over 100 events, and I've got a pretty steady frame-rate of 62 on my GS3. I'll obviously test on a wide range of devices when I get into alpha and beta.

    I noticed that cocoonjs is very "linear" about performance.

    There's a benchmark for mobile devices called passmark and here's a list of devices and their score. Previously i had a Galaxy ACE (overall score: 569) and i was getting around 18 FPS with cocoonjs. Now I have a Samsung galaxy S advance (this is the commercial name for the i9070 here in italy, overall score 1286) and i'm getting 38 FPS.

    It's only an empirical way to guess how the game will react on all those different devices, but if you make sure that your game works good on a "1000 point" device you'll be sure that your game will support every future android device. (Even low end phones in the next year will reach this level)

    Two things that I've noticed that cause significant performance drops: 1) a very short but noticeable FPS drop occurs when loading large-ish images during gameplay (i.e.: spawning sprites that I've had "parked" in other layouts), and 2) using any particle effects with sprites that use varying opacity or spawning at a rate of more than 10-20 instances per second.

    1) True. But this seems to be related to a render problem because it happens also with elements not created at runtime. I have a similar problem with large tiledbackgrounds composed by little tiles outside the visible area. In games with scrolling when you're approaching a large sprite or tiledbackground there's a noticeable drop just before the element is drawed on the screen.

    So all I've really had to deal with is the creation of replacement visuals for those particle effects. Sure, looking at current high-end 3D mobile games you'd think a few particles wouldn't be a big deal, but this is still early days for me learning how to optimise for the platform and I plan to get the most out of it while keeping the FPS at least above 30.

    I suggest you to include in your game a detail level option and every eyecandy in a family ready to be destroyed at the start of layout when the option is set to low.

    If you have some visual effects with objects created at runtime (and you'll likely have them in your game) put all the events in groups ready to be disabled.

    This could be a good approach to make a visual appealing game on desktops without sacrificing smoothness on mobile.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You may check this

    of my game exported on an android device with cocoonjs.

    It's still in development and there's room for more optimization but even without it I'm really satisfied with the performance results.

    The device is a samsung galaxy S advance, a middle range phone not even close to performance monsters like galaxy II, galaxy III, the nexus series and, talking about iOS, iPhone4s, iPhone5 and the new iPad.

  • Clyde is my long term project done with C2.

    An adventure platformer inspired by 90s classics like super mario world and sonic. Enjoy this new video <img src="smileys/smiley1.gif" border="0" align="middle" /> .

    [TUBE]RS_J1jaN6Qg[/TUBE]

  • I really want to use sprite maps of my own creation and not a folder full of separate images. Can it be done ?

    This may help you.

  • It happens even with a blank project. On logcat I get a generic "Process acctest.cly has died" just before the crash.

    EDIT: Thanks Ludei for the prompt resolution. I'm testing the updated cloud system right now.

    EDIT 2: It works! <img src="smileys/smiley32.gif" border="0" align="middle" />

  • Because these are two completely different things.

    Testing over lan uses your phone browser and performance varies between devices. On iOs despite a very good browser, test over LAN has some performance issues. But they disappear in a production environment.

    Nexus 7 uses Chrome as browser which has a very good and accelerated HTML5 support.

    Unfortunately, when you pack your app using a wrapper like phonegap (which is supposed to use the device native browser) your performance will drop since google still keeps their webview bounded to the older, slugghish and bugged android browser with no hw acceleration and a lot of other minor issues even on Jellybean devices (Source: me, today I sweared a lot about this playing with my Jellybean tablet)

    CocoonJS is a completely different thing.

    It renders Javascript drawing calls to an OpenGL accelerated canvas. This has some advantages like a faster rendering engine (comparable to your Nexus 7 browser) and some disadvantages because as a browser emulator it doesn't support a lot of things.

    CocoonJS will be always faster than the native android WebView (HW acceleration vs SW rendering) but will be always slower than Chrome browser (it's made in google running on a google device so there's an high optmization behind)

    Another thing: Avoid very large tiledbackgrounds with CocoonJS.

  • AndyWatson

    I don't have this issue. What phone do you have? It's running android 2.x or 4.x?

    ArcadEd

    I suggest you to keep working with the plugin, basicaly because phonegap native audio player doesn't still support BG music loop. Apache announced a new audio engine in the next release, so it may be worth waiting.

  • I migrated my app from 1.7 to 2.2 without issues.

    Talking about sounds, BG Music on android doesn't butcher FPS anymore.

  • I agree with you Ashley. HW acceleration IS the way. But in my case neither Directcanvas nor CocoonJS are ready to run my project, so this is a good way to test my game on a real mobile device with a playable performance while waiting for accelerated wrappers improvements.

  • I used Eclipse on windows. PG 2.2 is not yet available on PG build servers.

    I'm testing just now my game and I don't find any issue with my C2 project. Everything seems to work as expected (accelerometer, audio, custom plugins, custom code called through callJS...)

  • I looked at ejecta... it's done by dominic szablewski, the same guy behind the directcanvas concept (he's credited on appmobi github page). I haven't tested it so I might be wrong, but it sounds to me like a stripped off version of directcanvas without all appmobi bloats.

  • As stated here Apache rewrited from scratch the android javascript to java bridge with a 25x performance increase (!!!) on code execution.

    On my Galaxy ACE (800 Mhz single core) the overall performance increase is very high boosting my game (clyde) from 14-15 FPS to 20-21 FPS (a 30-35% increase).

    GFX rendering is still not HW accelerated, but this new Js2Java bridge leave a lot of CPU time for software rendering.

    This is a good news for those who can't use an accelerated solution like Appmobi or CocoonJS.

  • What kind of error do you get?

    Are you using android? If so, try software rendering instead of directcanvas.

  • Oh, I seen you're testing on ipad. I was talking about android side, so maybe I was wrong cause I'm not so into iOs things. From what I remember CocoonJS currently doesn't support retina screens on ipads (only iphone on the current release but support is planned. Read here) , probably this is your problem.

  • You may disable mouse emulation on your touch object, check if the first action done by the player (ex. start screen) is from a tap or a click and then set a global value that activates one of your two control systems.