UE杂项(Mass 崩溃排查)

崩溃场景1:

创建一个粒子组件,组件设置成AutoDestory, 把粒子组件存储在Mass片段中,添加Mass 处理器遍历访问粒子组件进行组件位置更新。

粒子System 设置为infinite 无限时间,每个发射器设置成Once 模式。

有概率在遍历粒子组件的时候崩溃

崩溃原因:

粒子生命周期:所有发射器都结束的时候,会触发粒子系统完成事件,如果设置是AutoDestory的会自动销毁组件。

在组件销毁后,使用 控制台 obj gc 立即触发gc,Mass 片段中数据不会有gc 引用,不会变成空指针

崩溃场景2:

主线程执行Mass组件Disable 的时候有概率崩溃,崩溃在MassEntityManager::BatchDestroyEntityChunks 的CHECK_SYNC_API() 上

崩溃原因:Mass 处理器是有配置多线程的,同步销毁实体的时候,如果刚好Mass 处理器在其它线程执行就会出现这个问题。需要在MassAgentSubsystem 中去除同步DestroyEnities, 直接用EntityManager->Defer().DestroyEnities() 方式销毁对象

其它:

FInstancedStuct 存储泛型结构体。(存储结构体类型指针和根据结构体大小用FMemory::Malloc 分配的空间地址)

FInstancedPropertyBag 成员是FInstancedStuct,存放的是UPropertyBag 结构体。UPropertyBag 里面有属性列表,FInstancedStuct 分配的空间中对应的偏移位置上存放数据内容。

低电源模式日志:Low Power Mode Changed

相关推荐
yblackd3 天前
UnrealEngine Win风格 窗口选择打开文件
c++·ue5·虚幻
AI视觉网奇4 天前
ue 推送直播流 推流 linux 实战
笔记·学习·ue5
郁闷的网纹蟒4 天前
虚幻5---第16部分---敌人(中)
开发语言·c++·ue5·游戏引擎·虚幻
爱搞虚幻的阿恺4 天前
Niagara粒子系统-超炫酷的闪电特效(第一期 粒子的朝向与对齐)
游戏·ue5·游戏引擎·虚幻
暮志未晚Webgl4 天前
UE5实现游戏中英文切换的本地化功能
游戏·ue5
郁闷的网纹蟒4 天前
虚幻5---第15部分---宝藏(掉落物)
开发语言·c++·ue5·游戏引擎·虚幻
HAPPY酷4 天前
C++ 音视频项目与 UE5 渲染与电影制作的关系
c++·ue5·音视频
AI视觉网奇6 天前
3d 数字人 ue metahuman 换脸 换身体
笔记·学习·ue5
AI视觉网奇6 天前
ue5.6 推送视频流
ue5
zhangzhangkeji7 天前
(12)GetPlayerPawn(..) 与 GetPlayerCharacter(..) 这俩函数啥区别 ?
ue5