userDaniel Pcancel
branchrust_reboot/main/hackweek_procgen_asynccancel

14 Commits over 0 Days - ∞cph!

19 Days Ago
Optim: PrefabPreProcess.FindComponents is now using GetComponentsInChildren With profiler, this ended up 2x faster than old way (lighthouse monument goes from 96ms to 46ms) Tests: used old code inline to validate outputs of new code
19 Days Ago
Optim: PrefabPreProcess - replace GetComponent with TryGetComponent Those are cheaper since they do less allocations and text formatting. Saves ~35s (but new flow is still slower). Tests: ran procgen with early out
19 Days Ago
Update: Merge prefab loading and preprocessing to run concurrently Surprisingly leads to worse timings than them being separate (120s prev CL vs 144s new). Might be overhead from doing a single prefab per frame Tests: ran procgen with early out
19 Days Ago
Update: move prefab processing to WorldSetup Tests: ran procgen with early out
19 Days Ago
Update: Prefab<T> gains a convenience (Prefab, T) constructor Tests: compiles
20 Days Ago
Update: Merging asset loading flows together - still editor only + debug code to early out - still slow (there's a number of issues left to resolve) Discovered that mixing Sync + Async loads causes an integration queue flush(big stall for us). This'll be a tricky problem to address, since SoundDefinition (and I presume others) load assets as part of OnValidate Tests: procgen in editor
20 Days Ago
Update: hooking up gameobject spawning to async load logic - Contains a bunch of testing code used for profiling, will clean up in next update Needs a bit of rework to ensure both the orignal flow and new flow can work together. Tests: ran procgen
20 Days Ago
Bugfix: fix out of bounds access during prefab shuffling Tests: ran procgen, no exceptions
20 Days Ago
Update: implement missing logic for both GatherAssets and Process - GatherAssets now respects all relevant settings and sorts paths - implemented Process that works on a batch of objects Tests: only GatherAssets has been checked (confirmed reduction of assets due to config use)
20 Days Ago
Update: exposing prefab preprocesing from GameManager Tests: none, simple change
20 Days Ago
Update: List and Array Shuffle range overloads Tests: none, trivial code
20 Days Ago
Optim: replace prefab search logic with editor manifest lookups - commented out a bunch of code for quicker iteration, wil lrevert later - doesn't account for monument duplication/probability Significantly faster because we don't load any assets in the process - goes from 30s+ down to 15ms Test: tried to procgen default editor map
20 Days Ago
Update: Sort editor manifest by path Allows to do faster lookups Tests: ran in the editor
21 Days Ago
Update: initial work on parallelizing prefab loading during editor procgen Loads too quickly(0.2s instead of 90) - I feel like it only loads the root-level gameobject, instead of the entire hierarchy. Will continue later. Tests: ran it once, got some telemetry, but already certain it's wrong.