branchrust_reboot/main/procgen_optimcancel
12 Commits over 30 Days - 0.02cph!
short test to force the extremes of DecorComponents to ensure the bounds is correct with future changes
- if this broke silently rocks would just fail to spawn or spawn where they shouldn't
use expanded decor component bounds to early out terrain filters cheaply in decor placement - saves 12s in coastal rocks, barely saves elsewhere
- can only do this because we have a cheaper hierarchal query for topology of an area now
Process cliff uniform placement validity in parallel - takes another 29s off, still matching results before optims
- pivot filters are tested in large batches of all candidates and re-tested if dirtied
- per-candidate orientation checks are done in parallel for passing candidates
made costal cliffs take 2s instead of 34s by adding caching to the recursive search (maxed around 400KB memory at max)
- falls back to recursive if the cache misses
improved monument placement - 13s faster
- split tier check out to early exit as a first check and water check to run at the end
- let distance checks exit early on the first monument it finds that's too close, reject behaviour is the same
replaced topology query job with direct call into burst compiled code via blittable UnsafeList<T>, the tiny job runbyref overhead adds up with the amount of queries we make
- shaves another 22s off, which is ridiculous
merge from erosion_optim - ~22s faster on a 4000 map, overall savings now ~67s or ~18%
removed repeated check of 0 orientation on cliff placement where we'd check it on both sign flips across X and Z - cuts an additional 19.1s with matching results
hierarchal topology map - saved ~19.5s locally on a 4k procgen, identical results