本课程基于 UE5.6 源码引擎展开对 GC 的剖析,带你从底层理解这一关键机制。与传统 C++ 需要手动管理内存不同,Java 和 C# 等语言仅需 new 无需 delete,大幅降低了开发负担。UE 通过其自主实现的 GC 系统,使 UC++ 也能够以同样的便捷方式进行内存管理,让开发者更专注于逻辑实现而非底层维护,真正实现了既保留 C++ 的高性能,又具备高级语言般的开发效率。

课程信息
教学总时长约6小时53分钟,使用软件:UE5,Rider。
适用行业:游戏引擎;难易度: 高级。
交流答疑
对于课程内容相关的疑问,提供有交流群,不但可以在群里与同学交流,分享资料,与教程内容有关的技术问题还可以进入答疑专区寻求帮助。老师一般会在2个工作日内为您解答。
课程目录
第一章:UObject分析
0101_SpawnActor函数分析
0102_NewObject函数分析1
0103_NewObject函数分析2
0104_FUObjectItem相关类解读
0105_TObjectPtr解析
0106_UObject的强弱指针
0107_UObject软引用相关指针
0108_UObjectPtr实践
0109_非UPROPERY标记的UObject引用
0110_SlowARO函数
0111_总结
第二章:token组装
0201_什么是UE的GC
0202_ReferenceToken组装概览
0203_属性引用信息输出.md
0204_构建ShemaView
0205_压缩Schema
0206_总结
第三章:GC流程概览
0301_引擎GC调用点
0302_3个GC入口函数分析
0303_图解GC入口函数
0304_GC起点
0305_GC预处理函数分析
0306_标记入口函数.md
第四章:标记阶段-根节点收集
0401_标记入口函数分析
0402_初始化标记阶段
0403_簇的初始化
0404_根节点收集完成
0405_非根节点标记入口
第五章:标记阶段-单线程标记
0501_单线程标记概览
0502_根节点成员变量的标记
0503_Reference类型分析
0504_其他典型类型探究
0505_不可变对象收集
0506_Blockifier相关类
0507_剩余函数分析
第六章:标记阶段-多线程标记
0601_多线程标记概览
0602_Context相关类
0603_多线程相关类
0604_SlowAROManager
0605_执行标记
第七章:清除阶段
0701_GC后处理函数
0702_清除函数入口
0703_收集不可达对象
0704_销毁Object预处理
0705_销毁Object1
0706_销毁Object2
多端支持
课程支持ios及Android端设备播放,您只需要登录各大手机应用平台,搜索“ABOUTCG学院“下载安装应用。
课程要求
本教学需要您对基础的3D概念和术语有一定的了解,比如Polygon,Edge,FaceAxis,Space,Map等。