配置表的加载方式影响游戏启动速度

常见的游戏开发中,都一个初始化环节。在初始化中,会对游戏所使用的配置表进行加载。随着项目进度的推移,越来越多的配置表出现了,游戏的初始化也逐渐变得越来越慢。

因此,配置表的加载方式,对于一款游戏的启动速度,至关重要,启动阶段全部进行载入加载,明显不是明智的设计机制。

KSFramework配置表采用惰式加载

惰式加载,又叫延迟加载,即在第一次用户使用在才进行加载。

生成的代码中,采用了惰式初始化方式进行配置表的加载: 即第一次使用时进行初始化。从而避免游戏启动时的集中式初始化,降低启动时间,优化执行性能。

类似的设计思路也是挺常见的,比如C#的JIT,就是第一次使用时进行编译。

KEngine中的配置表模块采用惰式加载,即在第一次使用,才会进行真正的加载。这也意味着,一个程序启动的速度,与配置表的加载完整的脱离关系。

当然了,如果在启动阶段,依然因为各种原因,大量的使用了配置表,重复了大量的加载,依然是会占据启动速度的。

强制其显示初始化


// 预热GameConfig表
GameConfigSettings.GetInstance(),

// 预热所有的表
SettingsManager.AllSettingsReload();

实际开发过程中,我就是想针对某些表,先初始化,再进游戏? 根据第一次使用时进行初始化的原则,强制在初始化阶段进行一次调用,就可以触发初始化加载。