Skip to content

Major performance degradation compared to macOS #3

Description

@Markos-Th09

Overview

While the game renders smoothly and maintains target performance on macOS desktop targets, the iOS build suffers from severe performance degradation during active gameplay and menu navigation. Frame times regularly spike up to 70.36ms, severely impacting the current state of the port.

This regression is highly anomalous given that testing is being conducted on Apple10 family hardware (A19 GPU). This performance drop points directly to a breakdown in how the underlying Vulkan backend in plume and MoltenVK interact with mobile-specific driver limitations and hardware behaviors specific to iOS. Testing on an iPad Pro (M4) yielded similar performance degradation to the A19, compared to an M4 MacBook which maintains target performance. Because the M4 hardware architectures are nearly identical, this confirms the bottleneck is tied directly to the iOS execution environment and translation layer behavior.

Potential causes

  • Because the depth buffer is visibly broken (The depth buffer is broken on iOS #2) the hardware-level HSR and Early-Z rejection passes are bypassed. However this does not adequately explain the degradation in the game menu.
  • There is a possibly an interaction with Synchronization bugs in RtlEnterCriticalSection/RtlLeaveCriticalSection #1, where unsound synchronization behavior under the iOS scheduler could worsen thread distribution and overall performance.
  • CPU profiling indicates that the vast majority of frame time is spent inside MoltenVK execution blocks rather than game code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions