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.