Skip to content

Performance: profile + render-scale option for native-res Adreno #13

Description

@fadi-labib

Summary

The port runs at ~30–60 FPS at native 2800×1752 on the Tab S7+ (Adreno 650). Profile it and add headroom so it's comfortable on this and weaker Adreno devices.

Directions

  • Profile first: in-game FPS counter during an actual match; adb shell dumpsys gfxinfo com.generalsx.generalszh only measures Android UI compositing (the game renders through DXVK→Vulkan, bypassing HWUI), so use the engine's own counter.
  • Render-scale option: render the 3D scene at a lower internal resolution and let the swapchain upscale (native panel is high-DPI; the engine already has resolution-aware UI scaling). Biggest lever.
  • Cap the shell-map/menu FPS (it doesn't need 60).
  • Check the two-device boot's cost (see Android/Turnip: two-device boot is load-bearing — single D3D device renders 3D scene black #8) — minor.

Impact

Comfort + battery + broader Adreno device support. Not a blocker (playable today). Needs in-match measurement (human). Branch: feature/android-phase3-renderer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ai-readyEnough context for an AI agent to work autonomouslyenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions