我用Insight抓了一下具体的trace,每次修改质量时5.4虽然也RecreatePhysicsState过很多次但是还是能在50ms能完成的。但是5.7中(5.5开始都有问题)就会有大量的SDetailView下的回调导致差不多3s左右的卡顿(cpu不好的同学的设备上会更长),比较影响工作效率。这部分回调时在哪里添加的,能否关闭呢? [Image Removed]
重现步骤
使用官方引擎和官方的第三人称模板,编辑PA_Mannequequin(默认人形骨骼的PhysicAsset),多选(十个以上)Body修改“Mass“(其他属性也都会卡),在5.4中还是很流畅的,但是在5.5之后就会每次修改卡顿一下 ,很影响工作效率。参考附件中的视频。
你好,我看了下,5.4之后变卡的原因是CL38686320中修复了另一个bug在FPhysicsAssetEditorSharedData::EnableSimulation中调了一下BroadcastHierarchyChanged重刷整个skeleton tree,另一个问题在于在同一个PhysAsset中修改不同SkeletalBody属性时会调用USkeletalBodySetup::PostEditChangeProperty里的OwningPhysAsset->RefreshPhysicsAssetChange,导致同一个PhysicsAsset刷新多次,我觉得需要做一个合并最后再一次性刷新的机制来解决这个问题,我创建了一个针对这个性能问题的Jira,UE-354639,谢谢反馈