一:概述:
本文分析下 UnrealEngine 引擎启动过程。
二:启动过程:
1. main 函数在哪里?
UnrealEngine/Engine/Source/Runtime/Launch/Private/Linux/
2. 在进入 main 函数之前干了什么?
加载 libUE4Editor*.so,执行动态库初始化函数,例如 , 等等。
3. CommonUnixMain 函数做了什么:
3.1 解析命令行参数
3.2 进入真正的主函数 (RealMain ),即 GuardeMain 函数
3.3 应用程序退出部分
4. GuardedMain 干了什么?
4.1 引擎预初始化
4.2 引擎初始化
4.3 引擎运行(循环 )
4.4 引擎退出
5. EnginePreInit 做了什么?
5.1 PreInitPreStartupScreen 过程:
5.1.1 初始化trace
5.1.2 初始化 state(性能分析工具)
5.1.3 初始化TaskGraph
5.1.4 加载核心模块(LoadCoreModules)
5.1.5 初始线程池
5.1.6 LoadPreInitModules , 载入 Engine, Renderer,RenderCore等模块
5.1.7 AppInit(应用初始化,初始化插件,日志等)
5.1.8 RHI 初始化
5.2 PreInitPostStartupScreen 过程
5.2.1 初始化以及加载核心模块
5.2.2 启动渲染线程
5.2.3 LoadStartupModules 加载PreDefault等模块
6. EditorInit过程做了什么?
6.1 引擎初始化
6.2 创建主窗口
7. EngineTick 运行,至此启动过程结束。