Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统

Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统

  • 1 为什么需要这个?
  • 2 并行编程的基础
    • 进程和线程
      • 多任务抢占模式
  • 3 游戏引擎框架
  • 4 unreal 并行框架
  • 5 Job system

1 为什么需要这个?

对性能要求很高
操作系统,把性能压榨到最高

Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第1张图片

2 并行编程的基础

Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第2张图片

进程和线程

进程有独立的存储单元
线程是进程之内的,会共享内存。
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第3张图片

多任务抢占模式

Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第4张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第5张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第6张图片

问题: Data Race,二义性,死锁
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第7张图片
锁:
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第8张图片
会死锁
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第9张图片
原子操作:不用加锁

Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第10张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第11张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第12张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第13张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第14张图片

3 游戏引擎框架

Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第15张图片

Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第16张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第17张图片

4 unreal 并行框架

Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第18张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第19张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第20张图片

5 Job system

现在游戏引擎中谈的比较多的
协程:
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第21张图片

协程是程序自己定义的。
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第22张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第23张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第24张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第25张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第26张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第27张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第28张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第29张图片

原来:LIFO
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第30张图片
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第31张图片

c++不支持,需要自己实现,这个系统的实现挑战还是很大的
Games104现代游戏引擎入门-lecture20 现代游戏引擎架构:面向数据编程与任务系统_第32张图片

你可能感兴趣的:(游戏引擎,游戏引擎,架构)