Commit Graph

160 Commits

Author SHA1 Message Date
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
danny couture
0655582bd0 Fix stutters in the game-thread while streaming texture mips from DDC.
This will fix a good bunch of ForceRebuildPlatformData in UTexture2D::UpdateStreamingStatus because of the Boot DDC telling it has some mips cached effectively preventing other cache layers from receiving them.
When the Boot DDC is disabled after the editor boot, all the mips will go into oblivion, and nobody will have them anymore, causing stutters in the game-thread while streaming because a second full rebuild is now required.

Any DDC that plans on disappearing should never be alone in the cache hierarchy and should give other levels the opportunity to properly cache data before its disapperance.

#rb Francis.Hurteau, Devin.Doucette, Andrew.Grant

[CL 14268431 by danny couture in ue5-main branch]
2020-09-08 10:50:47 -04:00
geoff evans
60193de1ab Demote no-access to the DDC file share to be a warning instead of an error.
Making this an error breaks progression of BuildCookRun scenarios under UAT.

I wasn't able to find a way to communicate arguments from UAT's command line to it's invocation of the cooker. The default behavior of performance liabilities shouldn't be a failed build. Ideally it would be optional, and there would be a feature to promote this warning to an error where it is specifically desired, perhaps when running in a data center.

[CL 14258264 by geoff evans in ue5-main branch]
2020-09-03 19:15:09 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Matt Kuhlenschmidt
603a4119c5 Fix HAL/PlatformFileManager.h non-portable casing CIS issues
#rb none

[CL 13214257 by Matt Kuhlenschmidt in ue5-main branch]
2020-05-06 17:58:18 -04:00
andrew grant
c580697c24 Made the pop-up warning at startup about the shared DDC path being missing optional.
- The engine ships by default with a shared entry in the graph that doesn't exist so this prevents it showing for projects that haven't yet set it up.
- The value in this prompt is situational. It's beneficial on Fortnite where a huge amount of DDC content is needed to get into the game and WFH (and Mac) users may be missing a mounted drive, but less important on smaller projects.

Also documented the "UE-EnvVar=None" trick in the ini file where the DDC behavior is described.


#tests Ran with PromptIfMissing=true and verified the prompt occurred when the path didn't exist. Ran with PromptIfMissing=false and verified there was no prompt but still a warning.

[REVIEW] [at]brandon.schaefer [at]devin.doucette
[FYI] stefan.boberg


#ROBOMERGE-SOURCE: CL 13187183 via CL 13187231 via CL 13187280
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13187317 by andrew grant in Main branch]
2020-05-05 15:50:08 -04:00
andrew grant
7c2df5fb70 Editgrate fix for warning about -ddc=default not being a valid backend
[FYI] marc.audy

#ROBOMERGE-SOURCE: CL 13043962 via CL 13043963 via CL 13043964
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v683-13008971)

[CL 13043965 by andrew grant in Main branch]
2020-04-24 20:11:55 -04:00
andrew grant
387622c149 Removed some debugging code that was accidentally submitted.
Droped some debug logging to VeryVerbose
Set EngineTest back to regular DDC logging

#jira UE-92249 UE-92221
#rb swarm
[FYI] devin.doucette

#ROBOMERGE-SOURCE: CL 12954517 in //UE4/Release-4.25/... via CL 12954529 via CL 12958534
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12958578 by andrew grant in Main branch]
2020-04-21 14:45:10 -04:00
andrew grant
835b997f53 Edit-grated improved DDC behavior logging from Main to get better info around failing cooked tests
Temporarily turning on verbose DDC logging for EngineTest project

[FYI] zabir.hoque ben.ingram
#jira #rb na
#lockdown cristina.riveron

#ROBOMERGE-OWNER: andrew.grant
#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 12911373 in //UE4/Release-4.25/... via CL 12911375 via CL 12911433
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12911435 by andrew grant in Main branch]
2020-04-19 14:32:34 -04:00
ben ingram
8b1cd24d0b #jira none
Add some more verbose DDC logging
#rb none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12905133 in //UE4/Release-4.25/... via CL 12905135 via CL 12905175
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12907642 by ben ingram in Main branch]
2020-04-18 16:05:20 -04:00
andrew grant
e7779bd965 Added DDC options to engine test to investigate corruption issue
- VerifyDDC option is now correctly passed to the editor for editor-based tests and the cooker for cooked tests
- DDC= option added that allows kicked tests to use a different DDC backend (e.g. noshared). Defaults to 'default' which will use the default DDC set up.

[FYI] zabir.hoque
#jira nojira
#rb swarm
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 12726902 in //UE4/Release-4.25/... via CL 12726918 via CL 12781760
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12782565 by andrew grant in Main branch]
2020-04-14 13:41:19 -04:00
josh adams
c8e00d8797 - Fixed missing DDCUtils.dll error
[FYI] bob.tellez
#rb trivial

#ROBOMERGE-SOURCE: CL 12716604 via CL 12716607 via CL 12716608
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v676-12543919)

[CL 12716617 by josh adams in Main branch]
2020-04-10 00:10:33 -04:00
josh adams
4b52d412cf - Moved some engine modules from NotForLicensees/NoRedist to Restricted
#rb ben.marsh, advisor

#ROBOMERGE-SOURCE: CL 12691853 via CL 12691860 via CL 12691865
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v676-12543919)

[CL 12691873 by josh adams in Main branch]
2020-04-09 13:18:06 -04:00
andrew grant
c0c327ac48 Fix for shader compilers showing message about unmapped drives
[FYI] chance.ivey
#rb swarm

#ROBOMERGE-SOURCE: CL 12678563 via CL 12678843 via CL 12678861 via CL 12678882
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12678920 by andrew grant in Main branch]
2020-04-08 16:41:08 -04:00
andrew grant
bccf8a1464 DDC Optimization for slow caches in the hierarchy -
* Reduce the calls to CachedDataProbablyExists in DDC hierarchy when forward/backfilling other caches and skip entirely for slower caches.
* Added some comments for future visitors.

#tests Benchmark PIE test with warm & cold caches. On fiber shows a ~20 sec gain with a warm cache and 3mins with cold to AthenaTestBed (likely a 3-5x multiple on slower connections).

#rb swarm
[at]devin.doucette

#ROBOMERGE-SOURCE: CL 12669758 via CL 12669760 via CL 12669761 via CL 12669762
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12669764 by andrew grant in Main branch]
2020-04-07 21:48:22 -04:00
andrew grant
9507ad45d6 Removed some deoptimization pragmas that were left in accidentally.
#rb trivial

#ROBOMERGE-SOURCE: CL 12653726 via CL 12653737 via CL 12653738 via CL 12657818 via CL 12657855 via CL 12657880
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12657904 by andrew grant in Main branch]
2020-04-07 12:47:12 -04:00
andrew grant
2d7a1db75c Changed the S3 DDC backend so it elects not to write to lower cache levels.
(This value is only checked on backends that have a cache of the data, so data that is not in the S3 DDC will still be written back to lower levels if the S3 cache misses).

Changed the speed class for backends to be elligible to be backfilled to fast.

[at]devin.doucette [at]ben.marsh

#ROBOMERGE-SOURCE: CL 12647496 via CL 12647501 via CL 12649274 via CL 12649832 via CL 12649856 via CL 12649891
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12649923 by andrew grant in Main branch]
2020-04-07 00:58:22 -04:00
andrew grant
8b29dd89a2 Fixed crash when verbose DDC logging is enabled
#rb trivial

#ROBOMERGE-SOURCE: CL 12647456 via CL 12647457 via CL 12649270 via CL 12649828 via CL 12649852 via CL 12649887
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12649913 by andrew grant in Main branch]
2020-04-07 00:58:12 -04:00
andrew grant
919e5daa5c Fix for DDC warnings in Fortnite EC jobs that use UnrealPak.
- Use a GUID rather than machine ID for write tests for programs (ShaderCompilerWorker, UnrealPak) that spin up multiple instances.

- When creating missing files for read-tests check if a failure could have been due to another instance creating that path at the same time.

- Improved some logging of issues to make future diagnosis of issues easier.

#rb swarm
[at]ryan.durand [at]devin.doucette

#ROBOMERGE-SOURCE: CL 12629650 via CL 12631522 via CL 12631547 via CL 12631579 via CL 12631609 via CL 12631644
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12631701 by andrew grant in Main branch]
2020-04-06 15:54:34 -04:00
ben marsh
538ac728ad Allow disabling the S3 backend by setting the UE-S3DataCachePath environment variable to "None"
#rb none
#jira

#ROBOMERGE-SOURCE: CL 12486037 via CL 12486375 via CL 12486409 via CL 12486440
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12487544 by ben marsh in Main branch]
2020-03-30 12:12:06 -04:00
andrew grant
963ad0c629 Allow users to customise S3 path by setting an UE-S3DataCachePath environment variable. If not set the default of ProjectDir/Saved/S3DDC is still used
#rb swarm
[at]devin.doucette [at]ben.marsh
[FYI] antoine.guilbaud
#tests Booted editor and PIE'd into AthenaTest with UE-S3DataCachePath set to a different drive. Verified data is there.

#ROBOMERGE-SOURCE: CL 12474206 via CL 12474221 via CL 12474232 via CL 12474240
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12474252 by andrew grant in Main branch]
2020-03-27 15:57:11 -04:00
andrew grant
95b59e82f4 Fixed a... typo? bad resolve? that was causing new data not to be written to DDC caches
[FYI] uriel.doyon, devin.doucette
#rb uriel.doyon

#ROBOMERGE-SOURCE: CL 12473303 via CL 12473315 via CL 12473325 via CL 12473327
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12473331 by andrew grant in Main branch]
2020-03-27 14:57:01 -04:00
andrew grant
6a3a6a6425 Temp workaround for FORT-273296 while I investigate why ShaderCompiler on Mac doesn't like the speed test option.
[FYI] stefan.boberg
#rb na
#tests compiled SCW and booted into editor with -noshaderddc to force shader compiles

#ROBOMERGE-SOURCE: CL 12466138 via CL 12468387 via CL 12468494 via CL 12468566
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12468580 by andrew grant in Main branch]
2020-03-27 11:20:28 -04:00
andrew grant
14d1b683f8 Moved some DDC debug options into a common class that can be provided to a backend to simulate certain behavior.
E.g.

'-ddc-local-missrate=50' simulates a 50% miss rate of keys on the local backend,
'-ddc-shared-misstypes=AnimSeq' simulates misses for any AnimSeq key. Use + to combine keys. E.g. AnimSeq+Audio

Memory DDC, FileSystemDDC and S3DDC support these options as do the classes that wrap other backends (e.g. AsyncPut).

#tests lots of warm and cold DDC
#swarm https://p4-swarm.epicgames.net/reviews/12458696

#ROBOMERGE-SOURCE: CL 12466119 via CL 12466177
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12466179 by andrew grant in Main branch]
2020-03-27 08:12:16 -04:00