UE5——源码阅读——4——引擎预初始化

UE5——源码阅读——4——引擎预初始化_第1张图片
预初始化的开始处理和结束处理
UE5——源码阅读——4——引擎预初始化_第2张图片
在这里插入图片描述
将GEnginePreInitPreStartupScreenEndTime设置为平台的时间
ON_SCOPE_EXIT 这个就是在程序结束后执行一个Lambda,这个弘的目的是简化代码确保正确的时机正确的执行清理操作,降低因资源泄露而导致BUG的概率
在这里插入图片描述
处理延迟注册的委托,标记开始引擎预初始化
在这里插入图片描述
标记
在这里插入图片描述
关于日志的,如果日志存在就把当前的线程设置为主线程
UE5——源码阅读——4——引擎预初始化_第3张图片
判断当前是否有statnamedevents这个命令
在这里插入图片描述

判断当前是否有verbosenamedevents这个命令,如果有将输出更多的调试信息
在这里插入图片描述
设置DebugGame,
在这里插入图片描述
如果是Windows 那就注册一个Ctrl-C
在这里插入图片描述
为当前的线程设置TLS(线程的本地缓存)
在这里插入图片描述
判断输出是否是UTF8
在这里插入图片描述
如果是非构建的版本,这个程序是不能被附加的
UE5——源码阅读——4——引擎预初始化_第4张图片
将当前的工作目录切换为可执行的文件所在的目录
在这里插入图片描述
开始设置命令
UE5——源码阅读——4——引擎预初始化_第5张图片
在非发行的版本下,环境变量UE-CmdLineArgs获取一些附加的命令参数,如果获取到了,其内容添加到原命令行参数中
UE5——源码阅读——4——引擎预初始化_第6张图片
主要用于存项目文件路径,这个变量会在后期对项目名字进行修正
在这里插入图片描述
标记
在这里插入图片描述
从命令行中解析出名字,并存到GameProjectFilePathUnnormalized
UE5——源码阅读——4——引擎预初始化_第7张图片
UE5——源码阅读——4——引擎预初始化_第8张图片
设置项目名字
在这里插入图片描述
解析命令设置名字
UE5——源码阅读——4——引擎预初始化_第9张图片
判断是否是有效名字
UE5——源码阅读——4——引擎预初始化_第10张图片

初始化追踪,自动链接追踪
在这里插入图片描述
初始化标记内存缓存区的特定平台
在这里插入图片描述
延迟物理资源清除
在这里插入图片描述
更新全局输入时间
在这里插入图片描述
如果启动了stats 内存分析器,创建一个追踪内存的对象
UE5——源码阅读——4——引擎预初始化_第11张图片
创建控制台输出设备的日志
在这里插入图片描述
启用日志器的输出缓存
在这里插入图片描述
判断是否有stdout命令,如果有就启动stdout设备
UE5——源码阅读——4——引擎预初始化_第12张图片
是否开启绘制事件的状态
UE5——源码阅读——4——引擎预初始化_第13张图片
解析退出命令列表
UE5——源码阅读——4——引擎预初始化_第14张图片
是否包含mallocframeprofiler
UE5——源码阅读——4——引擎预初始化_第15张图片
将工作目录切换成可执行文件所在的目录
在这里插入图片描述
判断是否是一个程序
在这里插入图片描述
判断是否已经设置了项目文件路径

在这里插入图片描述
如果项目文件不存在,会在下面做一写修正
UE5——源码阅读——4——引擎预初始化_第16张图片

标志初始化 输出驱动
在这里插入图片描述
初始化Error,Warning
UE5——源码阅读——4——引擎预初始化_第17张图片
输出设备初始化代理
在这里插入图片描述
标志命令的调节
在这里插入图片描述
主要作用是命令行参数的替换
UE5——源码阅读——4——引擎预初始化_第18张图片
用于检测替换命令行参数的别名
在这里插入图片描述
用于检测扩展命令行中的一些命令行文件
在这里插入图片描述

你可能感兴趣的:(UE5源码阅读,ue5)