mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
8 MiB window, so a range larger than the window is always imported alone. A buffer bound across two such ranges then has no import and is copied whole on every use: PPSA25344 binds a 368 MiB buffer across a 320.75 MiB and a 47.3 MiB range and copies it on almost every frame. When UploadFinish meets such a region, it imports the run of the ranges the region crosses, provided every one of them is larger than the window, and retires their own imports. It does this before any region of the build confirms an import, so the retire moves the epoch ahead of every pointer the build would use. A range that large is registered whole, not grown in 64 KiB pieces like a heap, so the joined import is not re-imported as a heap grows; it stands in refreshImports while exactly its ranges stand. A later join that reaches a joined import takes it in, so two joins that share a range never retire each other in turn. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>