Performance on old devices iOS and Android and other questions

Hello, friends!

I have very bad expirience with Construct 2. More than two years I spent on tests and corrections but with no result. My apps have unacceptably low performance on older devices iOS and android. In particular, this is ipad 3. With the android situation is even worse. Crosswalk died, Phonegap Build immediately ceased to support it, and shortly before that IntelXDK died. There was only a cocoon with its canvas +, but even with it, even on medium models of phones there are serious performance problems. Construct 3 did not help - all the same … In general, I decided to write everything in assembler. Just kidding. My choice fell on the Cocos2d-x - a mature tool, which, in theory, should give my apps maximum performance, and me to break the brain and take a lot of time to study. On the other hand, there is a Cocos Creator, which itself is rapidly developing, and beckons with promises of rapid apps development. But JavaScript, WebGL … With it i’m afraid to repeat my way with the Construct2. So, questions.

  1. Cocos Creator is suitable for prodution apps for older devices iOS and android? iPad 2/3 with ios9 and weak devices with 4<= android <5

  2. (If it’s not about html5 hybrid apps) for ios and android Cocos Creator makes OpenGL or WebGL apps? And which version.

  3. Did not find this. Can CС make vector shapes such as a square, a circle and the like?

  4. Is there an adequate way to protect js files without server?

  5. I understand that it is possible to crack everything, but, all the same, what is more difficult: to disassemble the binary file compiled from C++ or to decrypt the encrypted in CC js file?

  6. For android Cocos2d-x makes java bytecode?

  7. What is fundamental difference between the “native” technologies of the CC from hybrid hml5 applications? In terms of performance.

Thank you!

  1. I have apps running on my iPad3 but it’s very slow. Could be the physics though.
  2. WebGL
  3. You can draw simple shapes but not anything like SVG

Thank you for answer!

  1. Well, Cocos Creator is not suitable for development with a wide distribution.
  2. That is, Cocos Creator produces the same thing as Construct 2/3 and the like. Even more sad.

Well, the choice is Cocos2d-x … or maybe Defold?

when it comes to older devices there’s no magic bullet that will improve performance. You have to follow the principles of high performance game development.

The key things to remember are -
“optimal” performance means different things to different devs, decide what you want, let’s assume 60fps
if 60fps is your goal then you have roughly 16ms to perform any calculations per frame.
avoid instantiating or creating gameobjects at runtime, use object pools
avoid for loops and deep nested if/else structure, derive conditions from data
avoid physics when simple aabb testing would suffice
avoid performing calculations every frame

2 Likes

Good performance tips, thank you!

I understand that C++ is not a panacea, but you want to say that the Cocos2d-x and Cocos Creator have the same capabilities on older devices?

It all depends on the layers of integrations you go through but with the correct implementations, and understanding of JS Garbage Collection, they honestly produce roughly the same performance with C++ being better in certain areas for direct control and JS being better in areas for abstraction.

If you’re interested in high performance, I’d also look into Web Assembly.

How can I apply your recommendation (Web Assembly) to old devices?

ah sorry, it’s probably not possible because it requires browser support unless it’s possible to somehow bundle chromium as a wrapper to the project and then deploy it on older devices