UE Garbage Collection

引言 垃圾回收(Garbage Collection,后简称 GC)是一种对内存对象生命周期的自动管理机制。当程序占用的一部分内存在一定时间里不会被再次访问时,依靠 GC 算法向系统归还这些内存空间,是 GC 的基本目的。GC 可以帮助程序员减轻内存管理的负担,许多语言如 Java、C#、GO 等都内置了 GC 机制和垃圾回收器。C++ 语言本身不提供 GC,但 UE4/UE5 的 UOb...

GC & AsyncLoading DeadLock Bug

引言 遇到一个比较神奇的 Bug,顺手记录一下原因以及官方修复。起因是游戏的一些逻辑导致了主线程卡在了 GC 里一直出不来,看起来是一个死循环,实际上是触发了多线程死锁问题。 断点现场 笔者使用的版本是 UE 5.1,调用堆栈大致如下所示: CollectGarbageInternal(...) FCoreUObjectDelegates::GetPreGarbageCollec...

Significance Manager in UE5

定义 下列定义摘取自官方文档 Significance Manager in Unreal Engine : Significance Manager 提供了一个支持编写特定于项目的灵活代码的能力的集中框架,这些代码可用于对对象求值并确定它们相对于彼此的优先顺序。通过使用该评估方法,对象可通过关闭 粒子发射器 等 组件 或以较低的频率运行复杂AI代码的方式修改其行为。 重要度系...

DX12 Learning - Chapter4 - Init D3D

DX12 Learning - Chapter4 - Init D3D [TOC] 前言 新开一坑,开始学一下 D3D12 的接口和一些概念,以下内容均来自 Frank Luna 的 《Introduction to 3D game programming with Direct 12》,基本就是简单的抄了一遍,中文及化简大概会在没那么忙了之后补上吧 (🕊大概会补吧,学吧,学无止尽😅...

Navigation - NavMesh in UE5

引言 在 Wikipedia 中是这样定义导航🛰的: Navigation is a field of study that focuses on the process of monitoring and controlling the movement of a craft or vehicle from one place to another. 观测或控制某种交通工具从...