Commit Graph

5 Commits

Author SHA1 Message Date
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
paul chipchase
d6298779b2 Add more profiling scopes to the PrecachePayloads commandlet
#rb trivial
#rnx
#preflight 635b9fef7515720a5fb1bfe7

[CL 22827291 by paul chipchase in ue5-main branch]
2022-10-28 08:34:16 -04:00
paul chipchase
e42dbfc7bc Drastically reduce the amount of time payload precaching spends trying to extract payload information from packages.
#rb Per.Larsson
#jira UE-167457
#rnx
#preflight 635a75130d3a231123c51720

- Use ParallelForWithTaskContext to iterate ove rthe list of packages and extra the payload information.
- This has been shown to givea speed up of 5x-10x depending on the machine being tested.

[CL 22810930 by paul chipchase in ue5-main branch]
2022-10-27 11:33:53 -04:00
paul chipchase
446d9b7918 Add two new paths to the PreCachePayloads commandlet that take advantage of the new batch API.
#rb Per.Larsson
#jira UE-163093
#rnx
#preflight 63528929ae33b04ec1f4d892

- Iteration method 4 requests all found payloads in one single large batch. Useful for testing but would easily OOM systems when used on real projects.
- Iteration method 5 is similar to method 3, it splits the work into smaller jobs of 64 payloads at a time and spreads them out over our cores. This is the new method and in tests has managed to reach about 800mbit/s from HordeStorage.

[CL 22707967 by paul chipchase in ue5-main branch]
2022-10-21 22:28:45 -04:00
paul chipchase
a4fbae3f12 Add a very basic way to precache all virtualized payloads in a project and store them in the cache storage backends (usually the local DDC in our internal set up)
#rb Per.Larsson
#jira UE-164010
#rnx
#preflight 631f33368c5f7af11bc2a6b5
The commandlet is run via the cmdline '-run=VirtualizationEditor.PrecachePayloads' (the VirtualizationEditor part will load the module before executing the PrecachePayloads commandlet)
At the moment this is very slow to run as the VA API only allows one payload to be pulled in a single call and although we can make requests on many threads, there is a lot of overhead when requesting data from some backends and a batch pull API would be substantially quicker. This will be looked at in a future work item.
There are currently 4 different ways we can iterate over the payloads and precache them, since the commandlet is still too slow to use in general production, the different ways of iterating are provided so we can experiment later.
There is no way to customize what is precached, we just iterate over all the packaged in a project. We might want to improve this in the future but it would perhaps make more sense to move the package iteration options from the resave commandlet and make it something general purpose that different commandlets can also use. This would help build up a consistent way of choosing which packages are affected by a commandlet.

[CL 22050364 by paul chipchase in ue5-main branch]
2022-09-16 11:35:57 -04:00