Here is a snap shot of the propose UDN change:
TRACE_CPUPROFILER_EVENT_SCOPE(ValidateTextureOverridesForPIE); TSet<UMaterialInterface*> ProcessedMaterials;TArray<UPrimitiveComponent*> Components; for (const TObjectPtr<AActor>& Actor : Level->Actors) { if (nullptr != Actor) { Actor->GetComponents<UPrimitiveComponent>(Components); for (UPrimitiveComponent* Component : Components) { TArray<UMaterialInterface*> Materials; Component->GetUsedMaterials(Materials); for (UMaterialInterface* Material : Materials) { bool bIsAlreadyInSet = false; ProcessedMaterials.FindOrAdd(Material, &bIsAlreadyInSet); if (!bIsAlreadyInSet) { if (UMaterialInstance* MaterialInstance = Cast<UMaterialInstance>(Material)) { MaterialInstance->ValidateTextureOverrides(FeatureLevel); } } } } } }
start a PIE
the lambda ValidateTextureOverridesForPIE iterate all primitive component instead of iterating actor which is a lot slower.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-220455 in the post.
0 |
Component | UE - Foundation - Core - EditorLoader |
---|---|
Target Fix | 5.6 |
Fix Commit | 37793484 |
---|
Created | Jul 29, 2024 |
---|---|
Resolved | Nov 5, 2024 |
Updated | Nov 7, 2024 |