渲染引擎实践 - UnrealEngine引擎启动过程分析

时间:2024-11-18 09:43:16

一:概述:

        本文分析下 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 运行,至此启动过程结束。