虚幻引擎结构之TArray

1.TArray 简介

TArray 是虚幻引擎提供的一个动态数组容器,用于存储相同类型的元素集合。它是一个模板类,能够容纳任意类型的数据,为用户提供了一套简便的方法来添加、删除、访问和操作数组中的元素。作为虚幻引擎的核心数据结构之一,TArray 与引擎的其他组件紧密集成,提供了高性能的操作和便捷的接口。

2.TArray 的作用

TArray 类似于 C++ 标准库中的 std::vector,但它经过了专门的设计以适应虚幻引擎的需求。TArray 使用连续内存块来存储元素,这有助于提高缓存命中率和访问速度。当需要扩展容量时,TArray 会分配新的内存块并将现有元素复制过去,保证了元素在内存中的连续性,这对于性能至关重要。

3.TArray的注意

当TArray需要重新分配内存以扩展容量时,它确实会释放原有的内存空间。但如果TArray中存储的是指针或具有指针成员的对象,TArray不会自动管理这些指针指向的内存,也就是说,TArray不会负责释放这些指针指向的对象

4.TArray的结构

复制代码
template<typename InElementType,typename InAllocator>
class TArray
{
  //核心成员变量
  ElementAllocatorType AllocatorInstance; 
  SizeType             ArrayNum;          //sizetype通常为int32类型 
  SizeType             ArrayMax;
}

AllocatorInstance 表示TArray分配的内存器实例 即数组容器首地址(数组指针)

ArrayNum表示TArray当前包含的元素数量

ArrayMax表示TArray的内部数组能容纳的最大元素数量

5.TArray的定位

定位到"Actors" 就可以拿到虚幻引擎中所有AActor的实例

1.根据TArray成员中ArrayNum进行分析

2.根据虚幻引擎结构 进行分析 -> 根据结构进行分析

相关推荐
五仁烧饼10 小时前
Unity性能优化系列内存篇 - 移动端内存优化
unity·性能优化·游戏引擎
WiChP2 天前
【V0.1B15】从零开始的2D游戏引擎开发之路
游戏引擎
zhchyun20083 天前
# 【Unity UI 进阶】仿 Element UI 打造企业级 Unity UI 组件库(06)
ui·unity·游戏引擎
Behaviour4 天前
Unity游戏HybridCLR 热更新接入实战
游戏·unity·游戏引擎
王维志4 天前
UiSplineRenderer
unity·游戏引擎
k4m7v2pz4 天前
Godot 4 仿 agar.io:相机缩放被 max_zoom 卡死,窗口越大球越小的根因与修复
游戏引擎·godot·相机·缩放·clamp·camera2d
k4m7v2pz5 天前
Godot 4 窗口拉伸黑边与变形:stretch 配置全解析
数码相机·游戏引擎·godot·2d游戏·黑边·stretch·画面比例
Behaviour5 天前
Unity 手游网络同步技术
网络·unity·c#·游戏引擎
niuniudengdeng5 天前
Unity手游APK去广告实战:华为渠道包反编译、广告拦截与“网络不佳“弹窗修复全记录
unity·游戏引擎
k4m7v2pz5 天前
Godot 4 嵌入式试玩窗口尺寸与适配策略详解
编辑器·游戏引擎·godot·游戏开发·嵌入式运行