• Dear Cerberus X User!

    As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.

    Important: If you accept the amended Terms and Rules, you agree to the transfer of your user data to the future forum owner!

    Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.

    Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!

    Accepting ensures:

    - Continued access to your account with a short break for the actual transfer.

    - Retention of your data under the same terms.

    Without consent:

    - You don't have further access to your forum user account.

    - Your account and personal data will be deleted after April 5, 2024.

    - Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.

    We hope to keep you in our community and see you on the forum soon!

    All the best

    Your Cerberus X Team

Android platform

I can get good quality with mojo2 on all three, and suddnely I find things that kills the performance on or more of them, and I 'm learning from that. I'm also comparing with libGDX at the same time on the same devices.

Both Mojo2 and LibGDX uses separate threads for their graphics, and both also uses GLES2 from what I understand and got confirmed now. So it must be actual JAVA code that makes up the difference.
 
Last edited:
LibGDX. I think it is the same lib that OrangePixel uses for his games. Quite a good framework.
 
I think libGDX is open source, so you might lookup the source code of the functions you see great perfomance with and we can compare its inner workings with mojo2.

And again what do you expect in terms of framerate with what device on android using your posted test code? As I said it runs pretty fine on my S6, so what is your goal of performance?
 
I have the sourcecode of LibGDX and this is what I got from my experience;

All the supported platforms are now so mature that they have absolutely perfect performance together with Cerberus-x.
You don't need to think about batching just use your common sense with textures and size and you will be so good. You will be happy with the result.

But Android, it's different you need to think very hard when you do a normal scaling of your development. It can easily surprise you in a slowdown and you might be able to find what it is or it might very difficult maybe even impossible to make the same performance.

So you might think, but Android is like that, that is how it is. Well I thought so too until I saw LibGDX in action. And not just that, it works on Android models way back, at least Android 4.4 and probably older. I would say 2012 or thereabout. LibGDX existed back then so it might actually be how most high quality games in those years, where created. What about new models? They love LibGDX as well.

Cerberus-X.. here we see a difference, older will be hard to make perfect I have found out ways to do things that I woul like to share when I'm finally figured it all out to the degree that it will be useful for a regular programmer.

New Androids they love Cerberus-X because they tend to batch and do magical things like all the other platforms (i think this is where wea re going). But it's very slow you need to have at least API 28- 30 or so to experience this. I'm not sure where they made the biggest changes that actually matters in performance but they happened around there.

Older Androids are x10 magnitude slower than the platforms and have problems. So you might say it's the OS, I would agree and say yes but libGDX goes around it and makes it as good as anything. Older devices behave like they are form this year and I am not kidding.

So libGDX, yes, absolutely worth checking in, I have the sourcecode on my drive and I'm not used to this kind of thing but it actually got me inspired. I want to say I'm impressed by Cerberus-X in large it's better than Unity in many respects. But libGDX beats both in extreme 2d games for instance and also other things.


So in short, Cerberus-X is perfect for anything absolutely anything, but not older Androids, and you can still get good there too as I said. But not what I'm doing right now.
 
You ask about my goal. well my current project have high demands so only LibGDX can fulfill them as we speak. My highest wish is to stay in Cerberus-X as 90% of the code is in already written in CX. It's good for crossplatforming of course later on.

As a sidenote I want mention that later on I have a desire to help and bring the LibGDX quality to Cerberus-X Android (CX already has that quality in all other platforms) and to explore what can be optimized in JAVA byte code. It would make a huge difference and probably make it the best gamemaker for Android ever on the market.
 
When I started to use LibGDX with my Android devices it started to feel like you were homebrewing a Playstation. 60 fps is not the same as 60 fps, you want a certain stability in your frames too and, you could actually sense a difference. I absolutely love it for making Android projects.

I feel stupid because you could probably have made this years ago, If I'm not mistaken. I never knew anything about this and I'll bet that most professionals kept their mouth shut, this was probably considered a business secret.
 
Androids/javas biggest problem is the garbadge collector. The website of libgdx states that they found a way to avoid it mostly. So I am wondering how they did it. I have an idea but that is more on a game framework level, not on the graphics api level. Reuse of objects. Same with instances of classes. If you constantly create and dump objects, then you permanently dump objects.
 
Looking at libGDXs source code, they use a JNI implementation. So all graphic commands are C++. CX uses pure Java, which the runtime will translate. That confirms my initial assumption, then it would need to rewrite the graphics part of mojo2 and Android.
 
Back
Top Bottom