Skip to content

Severe FPS regression after replacing OpenGL43 with ARB_compute_shader on Samsung M12 #412

@z-xp-5

Description

@z-xp-5

Describe the bug
On my Samsung M12 device, there is a severe performance regression after the
OpenGL43 rendering path was removed and replaced with the new
"Incomplete ARB_compute_shader" extension in MobileGlues.

In older versions, enabling OpenGL43 (even though it was incomplete) allowed
the same game, with the same shader and identical settings, to run at a stable
~30 FPS. After updating to the latest MobileGlues version and enabling
ARB_compute_shader, performance drops dramatically to ~6 FPS, making the game
effectively unplayable.

This strongly suggests that the compute-shader-based rendering path is
significantly slower than the previous OpenGL43 path on this hardware.


To Reproduce

  1. Use a Samsung M12 (Exynos 850, Mali-G52 MC2) running Android 13
  2. Launch the game using Zalith Launcher
  3. Minecraft 1.21.11 with Fabric 0.18.4
  4. Enable Iris Shaders and use:
    z1[Amethyst Shaders] AmethystShaders_2.4
  5. Use the same mods and identical in-game settings
  6. Older MobileGlues version:
    • Enable OpenGL43 → ~30 FPS
  7. Latest MobileGlues version:
    • Enable "Incomplete ARB_compute_shader" → ~6 FPS
  8. No other settings were changed between tests

Expected behavior

  • Performance should be comparable to or better than the old OpenGL43 renderer
    OR
  • OpenGL43 should remain available as a legacy / fallback option for devices
    where it performs better.

Actual behavior

  • FPS drops by more than ~80%
  • Severe stuttering and unplayable performance

Config

Device & Software:

  • Device: Samsung M12 (A12034M)
  • OS: Android 13
  • SoC: Exynos 850
  • GPU: Mali-G52 MC2
  • Launcher: Zalith Launcher
  • MobileGlues Version: Latest
  • Minecraft Version: 1.21.11
  • Mod Loader: Fabric 0.18.4

Shaders & Mods:

  • Shaderpack: z1[Amethyst Shaders] AmethystShaders_2.4
  • Mods list:
    • Alan's Unified UI v0.2.2
    • Chunky-Fabric 1.4.55
    • Fabric API 0.141.3+1.21.11
    • FerriteCore 8.2.0 (Fabric)
    • ImmediatelyFast 1.14.2+1.21.11
    • Iris Shaders 1.10.5+mc1.21.11
    • Sodium 0.8.4+mc1.21.11

MobileGlues Settings (from UI / config.json)

  • Use ANGLE as OpenGL ES driver: Enabled
  • Max GLSL Cache Size: 128 MB
  • MultiDraw Emulation: Auto
  • Enable Incomplete 'ARB_compute_shader' Extension: Enabled
  • Recommended 'timer_query' Extension: Disabled
  • Advanced 'direct_state_access' Extension: Disabled
  • Custom target OpenGL Version: Disabled
  • ANGLE Depth Clear Workaround: Disabled
  • Built-in FSR1: Disabled

config.json:
{
"enableANGLE": 3,
"enableNoError": 1,
"enableExtTimerQuery": 0,
"enableExtComputeShader": 1,
"enableExtDirectStateAccess": 0,
"maxGlslCacheSize": 128,
"multidrawMode": 0,
"angleDepthClearFixMode": 0,
"customGLVersion": 0,
"fsr1Setting": 0
}


Logs
latest.log:
Initializing MobileGlues ...
MG_DIR_PATH = /sdcard/MG

[MobileGlues] Setting: enableAngle = true
[MobileGlues] Setting: ignoreError = 0
[MobileGlues] Setting: enableExtComputeShader = true
[MobileGlues] Setting: enableExtTimerQuery = false
[MobileGlues] Setting: enableExtDirectStateAccess = false
[MobileGlues] Setting: maxGlslCacheSize = 128
[MobileGlues] Setting: angleDepthClearFixMode = 0
[MobileGlues] Setting: customGLVersion = 4.0.0
[MobileGlues] Setting: fsr1Setting = 0

EGL initialized successfully
OpenGL ES Version: OpenGL ES 3.2.0 (320)

Detected GL_EXT_multi_draw_indirect!
multidrawMode = Auto → MultidrawIndirect (Auto detected)


Screenshots

  • Attached: MobileGlues settings screen
  • Attached: Zalith Launcher mod list

Additional context
The issue consistently occurs when enableExtComputeShader is enabled.
The previous OpenGL43-based path (now removed) delivered significantly better
performance on the same hardware under identical conditions.

This appears to be a renderer-specific performance regression rather than a
general configuration, mod, or driver issue. Restoring OpenGL43 as a legacy
option or optimizing the ARB_compute_shader path for lower-end GPUs (such as
Mali-G52) would greatly improve usability on such devices.

I am willing to provide additional logs, perform further tests, or help with
A/B comparisons if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions