dolphin/Source/Core/DiscIO
JosJuice 3feea108db DiscIO: Decrease RAM usage during zstd compression
By calling ZSTD_CCtx_setPledgedSrcSize, we can let zstd know
how large a chunk is going to be before which start compressing
it, which lets zstd avoid allocating more memory than needed
for various internal buffers. This greatly reduces the RAM usage
when using a high compression level with a small chunk size,
and doesn't have much of an effect in other circumstances.

A side effect of calling ZSTD_CCtx_setPledgedSrcSize is that
zstd by default will write the uncompressed size into the
compressed data stream as metadata. In order to save space,
and since the decompressed size can be figured out through
the structure of the RVZ format anyway, we disable writing
the uncompressed size by setting ZSTD_c_contentSizeFlag to 0.
2020-10-07 16:40:06 +02:00
..
Blob.cpp Show file format details in game properties 2020-06-21 20:47:23 +02:00
Blob.h DiscIO: Use std::function for compression callback 2020-09-16 18:36:50 +02:00
CISOBlob.cpp
CISOBlob.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
CMakeLists.txt DiscIO: Deduplicate some VolumeGC/VolumeWii code 2020-06-25 16:37:21 +02:00
CompressedBlob.cpp DiscIO: Use std::function for compression callback 2020-09-16 18:36:50 +02:00
CompressedBlob.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
DirectoryBlob.cpp DiscIO: Add parameters to BlobReader::SupportsReadWiiDecrypted 2020-08-29 15:18:52 +02:00
DirectoryBlob.h DiscIO: Add parameters to BlobReader::SupportsReadWiiDecrypted 2020-08-29 15:18:52 +02:00
DiscExtractor.cpp Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
DiscExtractor.h Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
DiscIO.vcxproj msbuild: re-enable standalone vcxproj processing 2020-08-22 16:17:50 -07:00
DiscIO.vcxproj.filters DiscIO: Deduplicate some VolumeGC/VolumeWii code 2020-06-25 16:37:21 +02:00
DiscScrubber.cpp
DiscScrubber.h
DriveBlob.cpp
DriveBlob.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
Enums.cpp
Enums.h
FileBlob.cpp DiscIO: Use std::function for compression callback 2020-09-16 18:36:50 +02:00
FileBlob.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
Filesystem.cpp
Filesystem.h
FileSystemGCWii.cpp DiscIO: Deduplicate some VolumeGC/VolumeWii code 2020-06-25 16:37:21 +02:00
FileSystemGCWii.h
LaggedFibonacciGenerator.cpp RVZ: Store pseudorandom junk data efficiently 2020-06-17 13:48:42 +02:00
LaggedFibonacciGenerator.h RVZ: Store pseudorandom junk data efficiently 2020-06-17 13:48:42 +02:00
MultithreadedCompressor.h
NANDImporter.cpp
NANDImporter.h
ScrubbedBlob.cpp DiscIO: Deduplicate some VolumeGC/VolumeWii code 2020-06-25 16:37:21 +02:00
ScrubbedBlob.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
TGCBlob.cpp
TGCBlob.h Merge pull request #8644 from JosJuice/rework-tgc 2020-09-06 07:06:26 -04:00
Volume.cpp Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
Volume.h Merge pull request #8861 from JosJuice/netplay-hash 2020-09-06 17:14:08 -04:00
VolumeDisc.cpp Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeDisc.h Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeFileBlobReader.cpp Show file format details in game properties 2020-06-21 20:47:23 +02:00
VolumeFileBlobReader.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
VolumeGC.cpp Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeGC.h Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeVerifier.cpp Merge pull request #8861 from JosJuice/netplay-hash 2020-09-06 17:14:08 -04:00
VolumeVerifier.h VolumeVerifier: Split TMD error from ticket error for WADs 2020-08-08 21:15:51 +02:00
VolumeWad.cpp Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeWad.h Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeWii.cpp Merge pull request #8861 from JosJuice/netplay-hash 2020-09-06 17:14:08 -04:00
VolumeWii.h Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
WbfsBlob.cpp
WbfsBlob.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
WIABlob.cpp DiscIO: Decrease RAM usage during zstd compression 2020-10-07 16:40:06 +02:00
WIABlob.h DiscIO: Use std::function for compression callback 2020-09-16 18:36:50 +02:00
WIACompression.cpp DiscIO: Decrease RAM usage during zstd compression 2020-10-07 16:40:06 +02:00
WIACompression.h DiscIO: Decrease RAM usage during zstd compression 2020-10-07 16:40:06 +02:00
WiiEncryptionCache.cpp DiscIO: Add parameters to BlobReader::SupportsReadWiiDecrypted 2020-08-29 15:18:52 +02:00
WiiEncryptionCache.h
WiiSaveBanner.cpp
WiiSaveBanner.h