Game Performance on Android sucks

0 favourites
From the Asset Store
Firebase: Analytics, Dynamic Links, Remote Config, Performance, Crashlytics on Android, iOS & Web Browser
  • I know, another performance thread. It must be all my fault etc. My game has 80 objects, no layer or sprite effects - and is just a spinning target into which I throw daggers at targets. I am running a Doogee N20. Not the fastest phone in the world but plays 2d games silky smooth. My game is janky as hell. Most of my events are timer driven or trigger once. And I am disabling groups which aren't needed every tick and enabling them if I need to check state. I shouldn't need to be ruthlessly optimising such a simple game. 80 objects and 350 events.

    I have no choice but to try and recreate the game in GMS2 or Godot, just so I can see the difference for myself.

    I even scaled down all my sprites, removed animation frames - and ensured all objects being spawned are on the layout at the start.

    I even tried not using the Pin behaviour, but making objects children in the hierarchy ... That made things worse.

  • Have you got pixel rounding disabled?

    Assuming youve looked at debugger to see whats using cpu?

  • Very little going on in the profiler. On my laptop which has an integrated gpu, gpu doesn’t go above 3!! Its one layout, one non scrolling view port and 80 ish objects.

  • Very little going on in the profiler. On my laptop which has an integrated gpu, gpu doesn’t go above 3!! Its one layout, one non scrolling view port and 80 ish objects.

    Can you share your project?

  • Disabling Pixel Rounding made no difference. I am trying targeting a lower Android version....

  • Disabling Pixel Rounding made no difference. I am trying targeting a lower Android version....

    what lower Android version exactly?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It is strange, but without seeing his game we cannot help him.

  • According to the other thread you already had posted, it is likely that the Android device you are testing your game on does not support graphic acceleration.

    Does your device meet the system requirements ?

    If it doesn't, the engine is not intended to work properly on such a device and this can be the reason why you are encountering poor performances.

    As already mentioned in this thread, consider posting your project so other members can try it out and possibly confirm the poor performances you are encountering.

  • Graphics Feature Status

    Canvas: Hardware accelerated

    Flash: Hardware accelerated

    Flash Stage3D: Hardware accelerated

    Flash Stage3D Baseline profile: Hardware accelerated

    Compositing: Hardware accelerated

    Multiple Raster Threads: Disabled

    Out-of-process Rasterization: Hardware accelerated

    OpenGL: Enabled

    Hardware Protected Video Decode: Unavailable

    Rasterization: Hardware accelerated

    Skia Renderer: Disabled

    Surface Control: Disabled

    Video Decode: Hardware accelerated

    Vulkan: Disabled

    WebGL: Hardware accelerated

    WebGL2: Hardware accelerated

    Driver Bug Workarounds

    clear_uniforms_before_first_program_use

    disable_program_caching_for_transform_feedback

    max_msaa_sample_count_4

    max_texture_size_limit_4096

    remove_dynamic_indexing_of_swizzled_vector

    scalarize_vec_and_mat_constructor_args

    use_virtualized_gl_contexts

    disabled_extension_GL_KHR_blend_equation_advanced

    disabled_extension_GL_KHR_blend_equation_advanced_coherent

    disabled_webgl_extension_EXT_disjoint_timer_query

    disabled_webgl_extension_EXT_disjoint_timer_query_webgl2

    Problems Detected

    Protected video decoding with swap chain is for certain Intel and AMD GPUs on Windows: 1093625

    Disabled Features: protected_video_decode

    Clear uniforms before first program use on all platforms: 124764, 349137

    Applied Workarounds: clear_uniforms_before_first_program_use

    Always rewrite vec/mat constructors to be consistent: 398694

    Applied Workarounds: scalarize_vec_and_mat_constructor_args

    Limit max texure size to 4096 on all of Android

    Applied Workarounds: max_texture_size_limit_4096

    Disable KHR_blend_equation_advanced until cc shaders are updated: 661715

    Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)

    The Mali-Gxx driver does not guarantee flush ordering: 678508

    Applied Workarounds: use_virtualized_gl_contexts

    Don't expose disjoint_timer_query extensions to WebGL unless site isolation is enabled: 808744

    Limit MSAA to 4x on Android devices: 797243

    Applied Workarounds: max_msaa_sample_count_4

    Program binaries don't contain transform feedback varyings on Mali GPUs: 961950

    Applied Workarounds: disable_program_caching_for_transform_feedback

    Remove dynamic indexing for swizzled vectors on Android: 709351

    Applied Workarounds: remove_dynamic_indexing_of_swizzled_vector

    Raster is using a single thread.

    Disabled Features: multiple_raster_threads

    Surface Control has been disabled by Finch trial or command line.

    Disabled Features: surface_control

    Version Information

    Data exported 2020-09-09T15:38:21.102Z

    Chrome version Chrome/85.0.4183.81

    Operating system Android 9

    Software rendering list URL https://chromium.googlesource.com/chromium/src/+/762b831055eeea48bb1d2deb03aabc70324e238a/gpu/config/software_rendering_list.json

    Driver bug list URL https://chromium.googlesource.com/chromium/src/+/762b831055eeea48bb1d2deb03aabc70324e238a/gpu/config/gpu_driver_bug_list.json

    ANGLE commit id ea8043b73f93

    2D graphics backend Skia/85 8ae885386e910cff8c543ae0d952a2c43f46e4ad

    Command Line --use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-viewport --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --enable-dom-distiller --flag-switches-begin --flag-switches-end --origin-trial-disabled-features=MeasureMemory

    Driver Information

    Initialization time 63

    In-process GPU false

    Passthrough Command Decoder false

    Sandboxed false

    GPU0 VENDOR= 0x0000 [ARM], DEVICE=0x0000 [Mali-G71] *ACTIVE*

    Optimus false

    AMD switchable false

    Driver vendor ARM

    Driver version 14.0.01rel0

    GPU CUDA compute capability major version 0

    Pixel shader version 3.20

    Vertex shader version 3.20

    Max. MSAA samples 16

    Machine model name N20

    Machine model version

    GL_VENDOR ARM

    GL_RENDERER Mali-G71

    GL_VERSION OpenGL ES 3.2 v1.r14p0-01rel0.12b964f4bebed234c30da41e1f38a3e7

    GL_EXTENSIONS GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures GL_EXT_buffer_storage GL_EXT_EGL_image_array

    Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent

    Disabled WebGL Extensions EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2

    Window system binding vendor

    Window system binding version

    Window system binding extensions

    Direct rendering version unknown

    Reset notification strategy 0x8252

    GPU process crash count 0

    gfx::BufferFormats supported for allocation and texturing R_8: not supported, R_16: not supported, RG_88: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRA_1010102: not supported, RGBA_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported

    Compositor Information

    Tile Update Mode One-copy

    Partial Raster Enabled

    GpuMemoryBuffers Status

    R_8 Software only

    R_16 Software only

    RG_88 Software only

    BGR_565 GPU_READ, SCANOUT

    RGBA_4444 Software only

    RGBX_8888 GPU_READ, SCANOUT

    RGBA_8888 GPU_READ, SCANOUT

    BGRX_8888 Software only

    BGRA_1010102 Software only

    RGBA_1010102 Software only

    BGRA_8888 Software only

    RGBA_F16 Software only

    YVU_420 Software only

    YUV_420_BIPLANAR Software only

    P010 Software only

    Display(s) Information

    Info Display[0] bounds=[0,0 360x760], workarea=[0,0 360x760], scale=3, rotation=0, panel_rotation=0 external.

    Color space (all) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}

    Buffer format (all) RGBA_8888

    SDR white level in nits 100

    Bits per color component 8

    Bits per pixel 24

    Video Acceleration Information

    Encode h264 baseline 0x0 to 1280x720 pixels, and/or 30.000 fps

    Vulkan Information

    Device Performance Information

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)