Skip to content

Pokopia: shader compilation produces temporary freezes and FPS is typically ~30 #15

Open

Description

@Framerr

Affected build

Frameropia v0.0.1 (Windows), tester-reported.

Observed

  • Gameplay usually sits near 30 FPS.
  • An occasional maximum around 42 FPS was reported; there is no evidence of a hard 42 FPS cap.
  • Compilation of new shaders causes major stutter and sometimes a temporary complete freeze until it finishes.

Expected

Shader compilation should minimize pauses without dropping required draws or causing graphics regressions.

Suggested validation

  1. Record exact GPU/driver and Vulkan settings, especially asynchronous shaders.
  2. Compare cold-cache and warm-cache traversal of the same area.
  3. Record shader compilation logs, frametimes and FPS in identical scenes.
  4. Test async compilation separately for graphics accuracy; skipped pipelines can cause temporary missing objects.

No performance or shader fix has been confirmed. See test plan.

Activity

  1. Framerr commented on Nov 7, 2026

    @Framerr
    OwnerAuthor

    Performance research: notsapinho build 24 (2026-11-08)

    Reporter tested notsapinho/Eglantine build 24 and observed steady 60 FPS in Pokopia, compared with Frameropia's performance issues. The actual cause(s) are not isolated: 17 commits between builds 21 and 24.

    Concrete candidates (author measurements, not our runtime validation):

    • e3aed3effc: skip buffer cache rescans for clean ranges, update dirty vertex streams only; reported per-draw buffer update cost ~440 → 398 ns. Toggle EDEN_NX2_SYNC_SKIP=0.
    • a95161229e: avoid redundant graphics pipeline state lookup; author reports skipping 88.6% of 17.5M lookups with no mismatches in Pokopia; per-draw lookup ~132 → 82 ns. EDEN_NX2_PIPELINE_SKIP=0 disables.
    • 6e73445ccb: linear image uploads directly from guest memory, ~194 → 120 ns per draw.
    • a2042312ee: defer large linear image uploads to Vulkan worker thread; author reports ~25.6 → 2.8 ms/s back-thread upload cost, additional ~7ms/s worker waiting. Toggle EDEN_NX2_DEFER_UPLOADS=0.
    • 84e061ce05: far shadow cascade restored by default; optional EDEN_NX2_SHADOW_FAR=0 reduces GPU thread work ~17% but visually removes far shadows, so do not silently enable it as a speed improvement.

    Do not cherry-pick everything without examining dependencies, graphics regressions, compiler tests and same-scene FPS. First isolate photo PR #17; evaluate performance commits separately. No builds or releases requested yet.

  2. Framerr commented on Nov 8, 2026

    @Framerr
    OwnerAuthor

    Performance experiments B/C rejected after reporter testing (2026-11-08)

    A successful build is not evidence of runtime correctness. Do not reuse #19's deferred texture upload change without isolating/fixing pink-sky issue. Investigate remaining independent performance candidates (pipeline lookups and clean-range cache scans) carefully; no user-verified 60 FPS improvement in Frameropia from B/C. The approved photo DMA fix #17 was merged separately into nx2.

  3. Framerr commented on Nov 8, 2026

    @Framerr
    OwnerAuthor

    2026-11-08 fork scan: further performance leads

    The last notsapinho release remains build-24 (2026-11-07). Rejected Frameropia direct linear texture uploads (#18) and deferred upload (#19) must not be reintroduced unmodified; #19 showed intensely pink sky. Remaining isolated candidates are notsapinho pipeline-state cache a951612 (upstream author measured 88.6% skipped lookups, 132→82 ns/draw) and clean-region synchronization e3aed3e (440→398 ns per draw in author's sample). These are microbenchmarks, not observed FPS gains, and not demonstrated in Frameropia. Prefer independent A/B opt-out branches, first maintain Pokémon Pokopia image correctness.

  4. Framerr commented on Nov 8, 2026

    @Framerr
    OwnerAuthor

    Two independent v0.0.3 performance builds for reporter A/B (2026-11-08)

    Both branches start from immutable release v0.0.3, are independent, draft, unmerged, artifact-only; test FPS, visible stutters, first-capture photo correctness, sky/geometry and stability before approving. GitHub Windows builds still in progress at issue update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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