#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870584 by ryan durand in Main branch]
Fix up nearby cases where ESearchCase::CaseSensitive should have been used
#jira
#rnx
#rb
#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10309793 via CL 10309818
#ROBOMERGE-BOT: (v593-10286020)
[CL 10309932 by marc audy in Main branch]
Multithreaded file compression in unrealpak CreatePak. Local testing shows 50% improvement.
Added compressed files to the DDC this doesn't improve performance when using Oodle Optimal2 but does improve when using Oodle Optimal3.
#test preflight switch builds.
Graeme.Thornton
#ROBOMERGE-AUTHOR: Daniel.Lamb
#ROBOMERGE-SOURCE: CL 8216871 via CL 8229351
#ROBOMERGE-BOT: (v401-8057353)
[CL 8230264 by bob tellez in Main branch]
#rb none
#jira
#rnx
#ROBOMERGE-SOURCE: CL 7061350 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)
[CL 7061351 by ben marsh in Main branch]
This manifested itself in a game when textures ended up rebuilding every single run of the game but suddenly stopped building and coming from the DDC as they should have after the first run.
When a texture was being requested from the DDC, the in-memory DDC cache space ran out, and FMemoryDerivedDataBackend::CachedDataProbablyExists() returned true. FDerivedDataBackendAsyncPutWrapper::PutCachedData() assumes the data is already on its way, so it doesn't send it again and exits the function. Unfortunately, the data is not really on the disk, and FCachePutAsyncWorker never gets a chance to put it there.
Because of changing memory requirements from run to run, this game was eventually able to write all of the texture data to disk, but it took dozens of runs to do so, as it generally would only write a single mip from a mipchain in any given run. When all of the mips were finally written, the texture would be fully retrieved from the DDC, and no build would be necessary.
With this fix, no early abort is had, and all textures write themselves fully to the disk.
#rb Jack.Porter
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: josh.jensen
#ROBOMERGE-SOURCE: CL 6345014 via CL 6346145 via CL 6346238
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)
[CL 6356190 by josh jensen in Dev-Core branch]
This manifested itself in a game when textures ended up rebuilding every single run of the game but suddenly stopped building and coming from the DDC as they should have after the first run.
When a texture was being requested from the DDC, the in-memory DDC cache space ran out, and FMemoryDerivedDataBackend::CachedDataProbablyExists() returned true. FDerivedDataBackendAsyncPutWrapper::PutCachedData() assumes the data is already on its way, so it doesn't send it again and exits the function. Unfortunately, the data is not really on the disk, and FCachePutAsyncWorker never gets a chance to put it there.
Because of changing memory requirements from run to run, this game was eventually able to write all of the texture data to disk, but it took dozens of runs to do so, as it generally would only write a single mip from a mipchain in any given run. When all of the mips were finally written, the texture would be fully retrieved from the DDC, and no build would be necessary.
With this fix, no early abort is had, and all textures write themselves fully to the disk.
#rb Jack.Porter
#ROBOMERGE-SOURCE: CL 6345014 via CL 6346145
[CL 6346238 by josh jensen in Main branch]