概念:
并行与串行:并行是同时在执行,串行是一个接一个地执行
进程与线程:进程是游戏的一次运行,线程是进程里面分配CPU资源的最小单位。
UE4线程:
1、游戏主循环是单线程的,不会有多个线程来执行主循环。
2、设计思想上,模拟了并行(不会有真正的“同时”),游戏引擎模拟的是现实世界,现实世界是并行的,游戏引擎为了让人容易理解,因此游戏引擎模拟了并行,采用的办法就是每个Actor都有自己的Beginplay和tick事件。在游戏主循环的“处理游戏逻辑”里面,对每个Actor的Tick事件都调用一遍,这一个看起来所有的Actor看起来都是并行的。实际上也是有先后顺序调用。
3、编译、构建光照、运行时与显卡的交互,可能是多线程的,这个是游戏引擎自身的优化,跟游戏逻辑本身的开发是没有关系的。
4、用户可以自己创建多线程,UE4蓝图没有提供这样的接口,可以使用C++来做这样的事情,或者也可以使用别人包装好的插件来创建多线程。