Commit Graph

141 Commits

Author SHA1 Message Date
dave belanger
b8eb668129 IInstallBundleManager method to change a bundle cache size which overrides ini settings but not the command line arg (for now it doesn't support changing it after the bundles have been initialized)
#rb Justin.Marcus

[CL 27565186 by dave belanger in ue5-main branch]
2023-09-01 16:17:16 -04:00
justin marcus
a898b12bea Engine changes for GFP download throuput optimization.
GFP state machine
- Avoid async GetContentState calls if possible.  These waste time and delay getting initial HTTP requests queued. The allows all the requests to be queued on the same tick.

BPS download service
- Move HTTP callbacks off game thread. This doesn't have much effect yet since the download service is still ticked on the game thread.  I'll follow this up with changes to fix that.

Install bundle stats
- Additional ensures to help catch operations happening out of order. I caught and fixed an issue where VK bundle source was sending completion callbacks too early.

[REVIEW] [at]Daniel.Lamb [at]Mitchel.Fisher [at]Leigh.Swift

[CL 27317611 by justin marcus in ue5-main branch]
2023-08-23 15:48:50 -04:00
justin marcus
badd89260b Follow up for Eric's fix
- Capture by ref, not value
- Also update bulk source

[FYI] Eric.Knapik

[CL 26993454 by justin marcus in ue5-main branch]
2023-08-10 11:22:54 -04:00
eric knapik
3650e52a34 #jira: FORT-636450
Fixup the install bundle to use the right config for bundle sorting

[FYI] Justin.Marcus

[CL 26976527 by eric knapik in ue5-main branch]
2023-08-09 18:26:57 -04:00
david harvey
0d70ab42a7 Platform chunk install bundle wrapper can use PlatformChunkName property to override the named chunk that a bundle will use.
- useful on platforms that do not support a lot of named chunks, allowing multple bundles to reference the same named chunk.
 - also allows XYZOptional bundles to work again, linking them to their main XYZ bundle state on platforms they're not supported on.

#jira UE-146398
#rnx
#rb Justin.Marcus

[CL 26770845 by david harvey in ue5-main branch]
2023-08-02 10:10:48 -04:00
eric knapik
9754b829b5 Added ability for GameFeatureData to check for a Bundle based on the GFP name:
GetInstallBundleName

#jira: FORT-619249, FORT-619250
[REVIEW] [at]Graeme.Thornton [at]Justin.Marcus [at]Mitchell.Fisher [at]Daniel.Lamb

[CL 26686842 by eric knapik in ue5-main branch]
2023-07-28 16:35:51 -04:00
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -04:00
justin marcus
d2d11d6a7b Refactor bundle regex matching into shared utility functions.
[FYI] Graeme.Thornton, Mitchell.Fisher, Daniel.Lamb
#rb David.Harvey

[CL 25873139 by justin marcus in ue5-main branch]
2023-06-08 11:51:07 -04:00
thomas ross
c67517af8e Fix for not correctly tracking combined progress if all supplied bundles had 0 weight. Will now evenly distribute progress if all bundles have 0 weight instead of tracking nothing.
#rb swarm
#tests Android Dev Client

[CL 25537509 by thomas ross in ue5-main branch]
2023-05-18 21:07:41 -04:00
bryan sefcik
da92084a12 Optimized out more private modules includes and dependencies.
#preflight 64627c382965f6ea8ea83bd6

[CL 25479683 by bryan sefcik in ue5-main branch]
2023-05-15 16:26:12 -04:00
daniel lamb
f8e2780e5b Refactored hermes load context to use link codes in automated tests and islands.
Fixed automated tests for download on demand.
[REVIEW] [at]Mitchell.Fisher
#preflight https://horde.devtools.epicgames.com/job/644a98e91150e908d03503b6

[CL 25365383 by daniel lamb in ue5-main branch]
2023-05-06 02:09:13 -04:00
christian savoie
54b1302f43 Change use of TAtomic to std::atomic
#tests Compiled

[CL 25363107 by christian savoie in ue5-main branch]
2023-05-05 20:55:26 -04:00
christian savoie
89edb70543 Add helper to suppress install bundle analytics to avoid spamming during locker randomization which can trigger a lot of installs per action and can be triggered quickly by users.
#tests Tester validated behavior in preflight cooked build
[REVIEW] [at]Daniel.Lamb [at]James.Doverspike [at]Justin.Marcus [at]Thomas.Ross

[CL 25204476 by christian savoie in ue5-main branch]
2023-04-26 14:56:26 -04:00
christian savoie
49a68a7290 [Backout] - CL25171499
[FYI] christian.savoie
Original CL Desc
-----------------------------------------------------------------
Add helper to suppress install bundle analytics to avoid spamming during locker randomization which can trigger a lot of installs per action and can be triggered quickly by users.

#tests Compiled ran game
[REVIEW] [at]Daniel.Lamb [at]James.Doverspike [at]Justin.Marcus [at]Thomas.Ross

[CL 25192062 by christian savoie in ue5-main branch]
2023-04-25 19:22:17 -04:00
christian savoie
2166b05113 Add helper to suppress install bundle analytics to avoid spamming during locker randomization which can trigger a lot of installs per action and can be triggered quickly by users.
#tests Compiled ran game
[REVIEW] [at]Daniel.Lamb [at]James.Doverspike [at]Justin.Marcus [at]Thomas.Ross

[CL 25175541 by christian savoie in ue5-main branch]
2023-04-24 23:30:28 -04:00
thomas ross
95e8160a94 FInstallBundleCombinedProgressTracker (InstallBundleManager Utility)
- Fixed issue when we could en up showing 100% Updating status when there was still Finishing work being done while waiting to receive GetBundleProgress. Now if ProgressPercent is 1.0f we will correctly show Finilizing progress if applicable.
- No longer track 0 weight bundles as they have no meaningful reason to be tracked and can lead to errors.
#rb Swarm
#tests Android Dev Client

[CL 25157574 by thomas ross in ue5-main branch]
2023-04-22 01:07:57 -04:00
joakim trossvik
93202d3dd4 Letting all request share the same context
- This change was made due to the Lazy notification was sent too early
#tests Android Test Client
#preflight 6440fc2cf61b80bcf7a6f7c6

[CL 25124486 by joakim trossvik in ue5-main branch]
2023-04-20 06:28:52 -04:00
james doverspike
6dc386f515 Adds InstallBundleSourceStreaming to support on-demand assets that are fetched directly from the CDN and written to a virtual file cache
[CL 25122329 by james doverspike in ue5-main branch]
2023-04-20 00:15:43 -04:00
james doverspike
d071f4e774 Add GetBundleSource to IInstallBundleManager
[CL 24658542 by james doverspike in ue5-main branch]
2023-03-15 14:09:41 -04:00
james doverspike
90c0ddf9ba [Backout] - CL24328738
[FYI] james.doverspike
Original CL Desc
-----------------------------------------------------------------
Cosmetic bulk asset streaming

Adds support for marking skeletal meshes and textures as optional files that stream from the cloud, typically used for cosmetics. Meshes and textures will now upload all of their non-inlined LODs as optional bulk files to the cloud, removing them from the pak files. The client will download into the VirtualFileCache in PersistentDownloadDir/VFC, which evicts least recently used LODs. These assets will have a longer delay to update to the higher quality LOD when their LODs are not in cache because they are now downloaded on-demand.

[CL 24373261 by james doverspike in ue5-main branch]
2023-02-22 19:19:46 -05:00
james doverspike
6a8a19a4b7 Cosmetic bulk asset streaming
Adds support for marking skeletal meshes and textures as optional files that stream from the cloud, typically used for cosmetics. Meshes and textures will now upload all of their non-inlined LODs as optional bulk files to the cloud, removing them from the pak files. The client will download into the VirtualFileCache in PersistentDownloadDir/VFC, which evicts least recently used LODs. These assets will have a longer delay to update to the higher quality LOD when their LODs are not in cache because they are now downloaded on-demand.

[CL 24331735 by james doverspike in ue5-main branch]
2023-02-20 20:22:07 -05:00
bob tellez
79d7201510 [Backout] - CL24230614
[FYI] james.doverspike
Original CL Desc
-----------------------------------------------------------------
Cosmetic bulk asset streaming

Adds support for marking skeletal meshes and textures as optional files that stream from the cloud, typically used for cosmetics. Meshes and textures will now upload all of their non-inlined LODs as optional bulk files to the cloud, removing them from the pak files. The client will download into the VirtualFileCache in PersistentDownloadDir/VFC, which evicts least recently used LODs. These assets will have a longer delay to update to the higher quality LOD when their LODs are not in cache because they are now downloaded on-demand.

[CL 24253381 by bob tellez in ue5-main branch]
2023-02-16 04:15:55 -05:00
james doverspike
4e78faf0de Cosmetic bulk asset streaming
Adds support for marking skeletal meshes and textures as optional files that stream from the cloud, typically used for cosmetics. Meshes and textures will now upload all of their non-inlined LODs as optional bulk files to the cloud, removing them from the pak files. The client will download into the VirtualFileCache in PersistentDownloadDir/VFC, which evicts least recently used LODs. These assets will have a longer delay to update to the higher quality LOD when their LODs are not in cache because they are now downloaded on-demand.

[CL 24251508 by james doverspike in ue5-main branch]
2023-02-16 01:47:06 -05:00
justin marcus
1fcd75e8a7 Dump relevant cache info on a failed cache reserve
Fix GFP state lex to string macro
[REVIEW] [at]Daniel.Lamb
#preflight 63d7e5e8ba4fadeef003f837

[CL 23922371 by justin marcus in ue5-main branch]
2023-01-31 00:54:38 -05:00
henrik karlsson
0da5962f86 Removed lots of includes in UE based on compile profiling
#preflight 6356cb02ae33b04ec1e358ac
#rb none

[CL 22786278 by henrik karlsson in ue5-main branch]
2022-10-26 15:02:30 -04:00