Files
UnrealEngineUWP/Engine/Source/Runtime/Renderer
tiago costa a6b8a4f108 Refactored GatherRayTracingRelevantPrimitives to use ParallelFor
- new ParallelFor loop builds array of indices of relevant static/dynamic primitives
- modified GatherRayTracingRelevantPrimitives_ComputeLOD to loop over indices and setup FRelevantPrimitive of each static primitive
- relevant dynamic primitives don't use FRelevantPrimitive at all since most of the fields are not relevant for dynamic primitives (only index is relevant)
- using ParallelFor is not compatible with the optimization that skipped ERayTracingPrimitiveFlags::UnsupportedProxyType using the TypeOffsetTable however ParallelFor should be faster in most projects (for example CitySample has fewer than 100 unsupported proxies)

Performance:
- City Sample (console): 0.72ms -> 0.34ms
- Electric Dreams Sample (PC with 64 cores): 2.4ms -> 0.15ms

#rb aleksander.netzel

[CL 30854373 by tiago costa in ue5-main branch]
2024-01-24 13:51:08 -05:00
..