Commit Graph

11 Commits

Author SHA1 Message Date
Devin Doucette
110afa128b DDC: Added new build scheduler modular features to queue by type and reserve memory
#preflight 638128f3cc307d6fa5b4ee80
#rb Zousar.Shaker

[CL 23271781 by Devin Doucette in ue5-main branch]
2022-11-25 21:38:59 -05:00
Devin Doucette
e2483014be DDC: Added LaunchTaskInThreadPool as a replacement for the two existing thread pool task requests
#preflight 6380f7c4170bc34a93b9104b
#rb Zousar.Shaker

[CL 23267593 by Devin Doucette in ue5-main branch]
2022-11-25 12:35:29 -05:00
Devin Doucette
6c33c94b36 DDC: Added experimental interface IBuildSchedulerThreadPoolProvider to integrate the build scheduler with the asset compiling managers
#jira UE-141137
#jira UE-141139
#preflight 63696f5e843e6ac79482dad1
#rb Zousar.Shaker

[CL 23027624 by Devin Doucette in ue5-main branch]
2022-11-08 09:45:50 -05:00
Devin Doucette
436b6a6461 DDC: Added IRequestOwner::LaunchTask
- Added IRequestOwner::LaunchTask to launch a task as a request in the request owner.
- Renamed ExecuteInCacheThreadPool to LaunchTaskInCacheThreadPool.
- Made GCacheThreadPool private to one source file.
- Changed task scheduling throughout DDC to use these functions where appropriate.

#preflight 623b846d8900c14eecd4daa4
#rb Zousar.Shaker

[CL 19485686 by Devin Doucette in ue5-main branch]
2022-03-23 16:56:39 -04:00
Devin Doucette
0a3a6d86c0 DDC: Switched to FLazyEvent to reduce build execution overhead
#rb Zousar.Shaker
#rnx
#preflight 614d5c567684f50001a07c40

[CL 17629838 by Devin Doucette in ue5-main branch]
2021-09-27 09:31:49 -04:00
Devin Doucette
e074999d9a DDC: Renamed Dispatch[Op] to Schedule[Op] and tweaked formatting for consistency
#rb none
#rnx
#preflight 613a336abf5a710001674089

[CL 17474273 by Devin Doucette in ue5-main branch]
2021-09-09 13:36:28 -04:00
Johan Torp
7286b53430 Add DDC2 memory scheduler to limit peak memory consumption
Also:
* Implemented rough memory usage estimate for texture cooking
* Fixed build action -> constant copying bug

#rb devin.doucette

[CL 17470303 by Johan Torp in ue5-main branch]
2021-09-09 06:04:00 -04:00
Devin Doucette
30760f545b DDC: Split DerivedDataRequest.h and rename DerivedDataBuildPolicy.h
#rb none
#rnx

[CL 17086960 by Devin Doucette in ue5-main branch]
2021-08-06 15:49:14 -04:00
Devin Doucette
3513768988 DDC: Replaced FRequest with FRequestGroup to handle nested and chained requests more robustly
Any function that may create a request now has a IRequestOwner& parameter, and uses the Begin and End functions on the owner to manage the lifetime of any requests that it creates, as well as using End to invoke the completion callback for any request which has one.

The new FRequestBarrier may be used to block a group from being considered complete in a scope where more requests may be added to it.

#rb Matt.Peters
#rnx
#preflight 6109b5c403d303000144cce5
#preflight 610acf7103d30300016fda94

[CL 17060470 by Devin Doucette in ue5-main branch]
2021-08-04 17:52:40 -04:00
Devin Doucette
c9ef86c7d2 DDC: Schedule non-blocking builds using tasks
#rb Zousar.Shaker
#rnx

[CL 16870688 by Devin Doucette in ue5-main branch]
2021-07-16 01:23:29 -04:00
Devin Doucette
3d796c5429 DDC: Added UE::DerivedData::IBuildScheduler and UE:::DerivedData::IBuildJob
IBuildScheduler schedules IBuildJob, which are created by the upcoming FBuildSession.

#rb Zousar.Shaker
#rnx

[CL 16452468 by Devin Doucette in ue5-main branch]
2021-05-25 13:27:48 -04:00