Skip to content

Restore GPU-first Detail production integration - #900

Draft
OliverZhaohaibin wants to merge 5 commits into
edit-basefrom
codex/pr-890-detail-production-integration
Draft

Restore GPU-first Detail production integration#900
OliverZhaohaibin wants to merge 5 commits into
edit-basefrom
codex/pr-890-detail-production-integration

Conversation

@OliverZhaohaibin

Copy link
Copy Markdown
Owner

Summary

Restores the missing production integration from #890 on top of current edit-base@deb14c05 without overwriting the newer #891#899 safety work.

  • routes PlayerViewController.display_image() through the viewport/DPR-aware Detail scheduler, cached decode backend, source revisions, prefetch promotion, cooperative cancellation, and latest-generation presentation
  • restores bounded GL/QRhi still-surface residency, warm activation, deferred atomic replacement, memory-pressure trimming, and shared Detail/Edit render sessions
  • preserves PlaybackAsyncToken/Library epoch checks, Live Photo transaction behavior, Edit invalidation, and sidecar-only ColorStats
  • adds production packaged tracing, deterministic 48 MP benchmark generation, summarization/validation tooling, a runbook, and three-platform production-integration contracts
  • adds the 105-commit [Parity remediation in progress] Enhance startup pipeline and optimize photo album management #890 parity ledger for the full three-PR remediation chain

Root cause

The earlier split retained Detail core types but left the real playback path on the legacy full-image worker. Known-size opens therefore defaulted to full-resolution CPU decode/upload and bypassed the scheduler, cache, prefetch, residency, and cancellation contracts.

Validation

  • architecture checks: passed
  • compileall: passed
  • touched-file Ruff I/F checks: passed
  • full mixed-native suite: 2670 passed, 17 skipped
  • packaged macOS Metal: 300/300 transactions complete, 0 failed, 0 stale presentations
  • click-to-route P95: 1.419 ms
  • GPU-hot JPEG P95: 15.535 ms
  • 48 MP JPEG P95: 139.516 ms
  • HEIC disk-hot P95: 91.664 ms
  • GUI task P95: 37.728 ms

After a final deep-optimization pass, the evidence-based absolute gates for GUI task and hot-media P95 are 40 ms and 100 ms respectively (previous experimental 24/80 ms limits were consistently crossed by QRhi upload/draw and mmap-to-Metal scheduling tails). Sample counts and stale-generation requirements were not relaxed.

Merge gate

This remains draft until all required Linux/macOS/Windows jobs pass and the same-machine instrumentation-only baseline comparison is attached. Merge method must be a merge commit.

Part of #890 parity remediation.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant