Grimmy's Forum Posts

  • Oddly, I just ran my app on another low spec android device (Adreno 330) and everything ran at a crisp 60fps including the tweening.

    I think the Adreno 330 is a bit more powerful than the Mali-t720.

    Maybe I just need to increase my minimum device spec?

  • I feel your frustration.

    I'm having a nightmare optimizing for Android on a low end device. For me running a single tween drops the fps by over 30-40%.

    I only get a solid frame rate (50+) on device when nothing is moving.

    I'm not sure I have anywhere to turn. There don't seem to be any answers here. :(

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • By disabling groups I've got the main screen running at around 55fps- but if there is nothing moving, then it's kind of pointless to have a good fps.

    Still though, when I hit the button to tween it drops to around 35 fps for the duration of the tween and the CPU goes from around 12% up to 60%. The button performs no other action and nothing else happens apart from this.

    --> Hours_Button: Tween "" property Scale to 1.1, 1.1 in 0.5 seconds (In Out Sinusoidal, destroy: No, loop: No, ping pong: Yes)

    Once the tween is complete the fps returns to 55 fps and CPU returns to 12%. The tween is losing me 20fps when its running.

    It's most definitely the Tween...or my device just can't handle tweens ?!? :)

    Note: This is just a simple sprite with no text. It is not attached to any parent the scene graph and does not have any children.

    Also, testing this on PC when the tween starts, draw calls go from 0.1% to 1.8% during the tween. Clearly, it's no bother for the PC but its an 1800% increase which is clearly affecting the low end tablet I'm using.

  • I mainly use groups as an organizational tool (a group could contain some initialization code as well as other runtime code) to help me visualize different areas of my project, but since attempting to optimize my project I noticed some odd things:

    When I disable one of 2 groups I get around a 5fps performance increase even though that group only contains one off triggered event (on clicked etc)

    When I disable another group (and re-enable previous group) I see the same effect. AGain, the group only has individual triggers (no on tick events)

    When I disable both groups together I get a massive 20+ fps performance boost. Now, I'm no mathematician but 5+5 does not equal 20 so my questions are:

    • Why is this happening?
    • Am I wrong to use groups as an organizational tool. Are they purely meant for optimization?
    • Why would I get ANY performance increase at all when disabling a group that only contains one shot events?

    Thanks

  • Is there any way to return the type of GPU or type of CPU?

  • Yeah its a pretty bad device and I've optimized everything as far as it can go. Even virtually empty scenes run at about 30-40fps with almost no events. I am using the remote preview to test.

    Its bad though, because i'm seeing other comparable (or even more detailed) games running very fast on the same device.

    The fps drops from 30 to 20 as soon as the tween starts. If I start another tween, its drops even further.

    I could send the project but its quite large and It contains a few additional plugins (ProUI).

  • However, when I run something like Geometry Dash (Cocos) on it or other apps that even I made with other engines (Unity) I get a much smoother experience on the same old device. (These are comparable in terms of the kind of amount of objects I have etc in my game.)

    I'm starting to think this might be a C3 issue. Maybe it's just not fast enough to run on older devices.

    I really don't want to have to switch engines halfway through a project though !!

  • I understand the complexities but some kind of score system would be nice to be able to access which is based on various parameters (CPU, GPU etc.) As seen here...

    antutu.com/en/ranking/rank1.htm

    A number like that would then give me an baseline to make setting changes at startup. Currently I think I only have the device memory that I can fetch.

  • Philips E1027

    Renderer Detail: Mali-T720 (i think around 600-650 MHz)

    1.9 GB Memory

    Android 7.0

    cetrogar.com.ar/tablet-philips-tle1027-10.html

    She's a beauty! :)

  • Just to add to this..

    I just tried an old plugin called Lite tween and unfortunately that had about the same HUGE impact on the framerate. (around 30 to 40% drop)!!

    I've been optimizing my game over the last couple of days; following all the documented advice; reducing image sizes, removing unnecessary effects, physics etc, but this (Tweening) is by far having the biggest impact on my FPS out of everything!!?!?

    Is there another option other than to remove tweens altogether?? That's going to make for a pretty lousy looking app :(

  • Hi, I am trying to optimize on a pretty low end device and my main title screen is running at around 30fps.

    However, I have a sprite (Hours_Button) can be activated which begins to pulse. As soon as I do this the fps drops to around 20fps. This seems pretty drastic. AM I doing something wrong?

    I am just calling the tween once:

    + Hours_Button: On clicked

    -> Hours_Button: Tween "" property Scale to 1.1, 1.1 in 0.5 seconds (In Out Sinusoidal, destroy: No, loop: Yes, ping pong: Yes)

  • I want to make changes based on a devices 'general' ability (CPU and GPU).

    Is there some number I can grab that I can use as a general marker in the sand? I can only find the GPU and CPU current utilization which can of course move all over the place.

    eg

    if (device_ability>0.5)

    {

    do_fancy_effects=true;

    }

    else

    {

    do_fancy_effects=false;

    }

    ..or should I just base everything on device memory perhaps? ..but that seems a bit broad.

  • SOLVED

    Apparently below 30fps C3s default behavior is to slow down time. (?)

    To fix this I just set the minimum frame rate to 5 fps.

    Now the countdown works as expected...even when the FPS is god awful.

  • I am using DT but still my timer slows down when the FPS does (my app grinds to around 15 fps on low end mobiles).

    Even when this slowdown happens I want a countdown time to be displayed correctly, but it just slows down along with the rest of the app.

    I am using:

    + System: Every tick

    -> System: Set main_timer_in_seconds_current_value to main_timer_in_seconds_current_value-1×dt

    Cheers

  • Okay. Thanks everyone for all the info. Much appreciated.