Add a job system for multithread processing
1.添加了一个job系统,赋予载入数据或者生成command buffer时多线程的能力 2.加载object的时候使用了job系统
1.Add a job system,for parallelly loading data or generating command buffer 2.Use the job system when loading objects
非常感谢这个PR,很棒! 不过,提前说一下,我们可能需要比较久的时间进行Review以及讨论相关设计和实现。 一方面,多线程Job System是引擎比较核心的模块,需要考虑很多方面,比如线程池的管理,高效的任务调度,任务间的依赖等,对设计和实现都有比较高的要求; 另一方面,小引擎当前有很大的一个目标是作为GAMES104课程的教学引擎,协助同学们尽量简单的入门游戏引擎,希望功能上尽量保持简单,容易理解。实际上,小引擎的第一版是有一个多线程系统的,也实现了逻辑线程和渲染线程的分离,但由于不便于同学们学习理解,所以在上线前移除掉了。
非常感谢这个PR,很棒! 不过,提前说一下,我们可能需要比较久的时间进行Review以及讨论相关设计和实现。 一方面,多线程Job System是引擎比较核心的模块,需要考虑很多方面,比如线程池的管理,高效的任务调度,任务间的依赖等,对设计和实现都有比较高的要求; 另一方面,小引擎当前有很大的一个目标是作为GAMES104课程的教学引擎,协助同学们尽量简单的入门游戏引擎,希望功能上尽量保持简单,容易理解。实际上,小引擎的第一版是有一个多线程系统的,也实现了逻辑线程和渲染线程的分离,但由于不便于同学们学习理解,所以在上线前移除掉了。
理解=,=