目录
一:概述:
本文分析下 UnrealEngine 启动过程中创建多少个 OpenGL Context,以及这些 Context 的作用。
二:临时Context
1. PreInit -> PreInitPreStartupScreen -> PreloadResolutionSettings, 用于检查图形窗口分辨率
2. PreInit -> PreInitPreStartupScreen -> FPlatformSplash::show ,用于Splash窗口(进度条界面)
3. PreInit -> PreInitPreStartupScreen -> RHIInit, 创建 Dummy context 用来检查OpenGL扩展
三:全局的Context
1. PreInit -> RHIInit -> Linux_PlatformCreateOpenGLContextCore 创建 SharedContext
2. PreInit -> RHIInit -> Linux_PlatformCreateOpenGLContextCore 创建RenderingContext
3. EditorInit -> CreateDefaultMainFrame -> ShowWindow -> Linux_PlatformCreateOpenGLContextCore, 创建主界面的OpenGL Context
4. Tick -> FSlateUser::UpdateTooltip -> FSlateUser::ShowTooltip, 创建TooltipWindow的OGL Context