Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed RFC Feature New O3DE Archive System #56

Closed
lemonade-dm opened this issue Apr 20, 2023 · 0 comments · Fixed by #55
Closed

Proposed RFC Feature New O3DE Archive System #56

lemonade-dm opened this issue Apr 20, 2023 · 0 comments · Fixed by #55
Assignees
Labels
rfc-feature Request for Comments for a Feature

Comments

@lemonade-dm
Copy link
Contributor

lemonade-dm commented Apr 20, 2023

Summary:

To add a modern and performant archive format to O3DE, that can overcome the existing limitations of the current .pak file format based on CryPak.

Newer specs for storage technology such as NVMe.4 and NVMe.5 drives has led to the hardware being able to support throughput speeds of 16GiB/s in 4-lane configuration which is common for storage drives. Speeds of up to 64GiB would be supported in a 16-lane configuration, but that is not common nor affordable among consumer level storage drives.

Currently CryPak is decompression limited to zlib-based compression algorithms. Alternative compression libraries such as Oodle and Snappy. Furthermore the compression is file based, instead of block based, which makes it hard to parallelize decompression and reads on multiple threads.
Currently within the AZ Streamer stack decompression of files from .pak files is the bottleneck when it comes to throughput.
Finally the CryPak that O3DE uses only supports 32-bit zip files and have a 4GiB limit on the archive file itself.

The new O3DE Archive format will address these issues, by providing a Compression gem that allows performing block based decompression, whille also supporting 64-bit offsets to allow for archive files of up to 172 TiB.

The full RFC for the new Archive TDD is linked at https://github.com/o3de/sig-core/blob/daa015f/rfcs/rfc-core-2023-04-20-new-archive-tdd.md

@lemonade-dm lemonade-dm added the rfc-feature Request for Comments for a Feature label Apr 20, 2023
@lemonade-dm lemonade-dm self-assigned this Apr 20, 2023
@lemonade-dm lemonade-dm moved this to 🏗 In progress in SIG/Core Roadmap Apr 21, 2023
@lemonade-dm lemonade-dm moved this from 🏗 In progress to 👀 In review in SIG/Core Roadmap Jun 27, 2023
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in SIG/Core Roadmap Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc-feature Request for Comments for a Feature
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant