Skip to content

Consolidate chapter page data into single file#144

Merged
daveallie merged 5 commits intomasterfrom
feature/consolidated-section-file
Dec 29, 2025
Merged

Consolidate chapter page data into single file#144
daveallie merged 5 commits intomasterfrom
feature/consolidated-section-file

Conversation

@daveallie
Copy link
Copy Markdown
Member

@daveallie daveallie commented Dec 29, 2025

Summary

  • Consolidate chapter page data into single file
    • Header structure of the file stays the same, following the page count, we now put a LUT offset
    • The page data is all then appended to this file
    • Finally the LUT is appended to the end of the file, and the page count is updated
    • This will also significantly improve the duration of cache cleanup which takes a while to scan the directory and cleanup content
  • Remove page file version as it's all tied up into the section file now
  • Bumped section file version to 7
  • Moved section content into sub directory
  • Updated docs

Additional Context

  • Benchmarks:
    • Generating 74 pages of content from a chapter in Jade Legacy took:
      • master: 6,229ms
      • this PR: 1,305ms
      • Speedup of 79%
    • Generating 207 pages of content from Livesuit book:
      • With progress bar UI updates:
        • master: 24,250ms
        • this PR: 8,063ms
        • Speedup of 67%
      • Without progress bar UI updates:
        • master: 13,055ms
        • this PR: 3,600ms
        • Speedup of 72%

@daveallie daveallie merged commit 534504c into master Dec 29, 2025
1 check passed
@daveallie daveallie deleted the feature/consolidated-section-file branch December 30, 2025 02:13
Unintendedsideeffects pushed a commit to Unintendedsideeffects/crosspoint-reader that referenced this pull request Feb 17, 2026
## Summary

* Consolidate chapter page data into single file
* Header structure of the file stays the same, following the page count,
we now put a LUT offset
   * The page data is all then appended to this file
* Finally the LUT is appended to the end of the file, and the page count
is updated
* This will also significantly improve the duration of cache cleanup
which takes a while to scan the directory and cleanup content
* Remove page file version as it's all tied up into the section file now
* Bumped section file version to 7
* Moved section content into sub directory
* Updated docs

## Additional Context

* Benchmarks:
  * Generating 74 pages of content from a chapter in Jade Legacy took:
    * master: 6,229ms
    * this PR: 1,305ms
    * Speedup of 79%
  * Generating 207 pages of content from Livesuit book:
    * With progress bar UI updates:
      * master: 24,250ms
      * this PR: 8,063ms
      * Speedup of 67%
    * Without progress bar UI updates:
      * master: 13,055ms
      * this PR: 3,600ms
      * Speedup of 72%
whale-n pushed a commit to whale-n/njwiv-xt that referenced this pull request Mar 17, 2026
## Summary

* Consolidate chapter page data into single file
* Header structure of the file stays the same, following the page count,
we now put a LUT offset
   * The page data is all then appended to this file
* Finally the LUT is appended to the end of the file, and the page count
is updated
* This will also significantly improve the duration of cache cleanup
which takes a while to scan the directory and cleanup content
* Remove page file version as it's all tied up into the section file now
* Bumped section file version to 7
* Moved section content into sub directory
* Updated docs

## Additional Context

* Benchmarks:
  * Generating 74 pages of content from a chapter in Jade Legacy took:
    * master: 6,229ms
    * this PR: 1,305ms
    * Speedup of 79%
  * Generating 207 pages of content from Livesuit book:
    * With progress bar UI updates:
      * master: 24,250ms
      * this PR: 8,063ms
      * Speedup of 67%
    * Without progress bar UI updates:
      * master: 13,055ms
      * this PR: 3,600ms
      * Speedup of 72%
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