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 DiscIO: Fix CISOFileReader::GetDataSize() 2020-01-22 18:57:50 +01:00
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 DiscIO: Move scrubbing code out of ConvertToGCZ 2020-04-24 15:11:20 +02:00
DiscScrubber.h DiscIO: Move scrubbing code out of ConvertToGCZ 2020-04-24 15:11:20 +02:00
DriveBlob.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
DriveBlob.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
Enums.cpp GetSysMenuVersionString(): Use a char instead of std::string for the region letter. 2019-12-29 23:45:02 -05:00
Enums.h Also override the SYSCONF country setting 2019-08-09 17:33:05 +02:00
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 Qt/FilesystemWidget: Add size column 2018-06-02 18:59:56 +02:00
Filesystem.h DiscIO: Avoid copies when comparing FileSystemGCWii file names 2019-05-29 14:53:39 +02:00
FileSystemGCWii.cpp DiscIO: Deduplicate some VolumeGC/VolumeWii code 2020-06-25 16:37:21 +02:00
FileSystemGCWii.h DiscIO: Add functions CreateDisc and CreateWAD 2019-07-18 22:29:04 +02:00
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 DiscIO: Implement multithreaded compression 2020-05-06 14:18:51 +02:00
NANDImporter.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
NANDImporter.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
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 DiscIO: Rework the implementation of TGC reading 2020-06-17 12:32:39 +02:00
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 DiscIO: Add out of bounds checks for blob reading 2020-01-14 18:59:31 +01:00
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 WIA: Make use of the exception lists 2020-06-17 13:43:54 +02:00
WiiSaveBanner.cpp Common/CommonFuncs: Remove now-unneccessary ArraySize function 2019-06-01 10:07:57 -04:00
WiiSaveBanner.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00