PS4仅有6个可利用核心,并且1.6GHz的jaguar显然只能算小核心,那PS4是如何利用这几个小核心做次世代游戏的,一核工作众核围观?多线程无用?
guerilla工作室(杀戮地带)的引擎里使用了entity(实体类)概念,游戏里的动态对象都可以是entity,玩家、敌人、武器等等。

PS3中的并行模型
PS3是单线程,所以大部分的时间花费在PPU上,没有有效的并行模型
SPU通过fiber进行类似多线程的操作,一个fiber相当于一个线程,类似于轻量级的小线程,开销很小。但是受限于PPU,效率并不高。

到了PS4,job系统取代fiber,在job中,一个entity为一个整体,更直观有效的利用多核心多线程。
而顽皮狗又稍有不同,他们把fiber系统结合到了job系统中

每个CPU锁定一个工作线程,fiber作为工作线程的context,job在fiber的context内部执行。
通过这样的模型外加顽皮狗深入到牙齿般的优化工作,几乎可以让PS4的每个CPU都接近100%的利用率。
guerilla工作室(杀戮地带)的引擎里使用了entity(实体类)概念,游戏里的动态对象都可以是entity,玩家、敌人、武器等等。

PS3中的并行模型
PS3是单线程,所以大部分的时间花费在PPU上,没有有效的并行模型
SPU通过fiber进行类似多线程的操作,一个fiber相当于一个线程,类似于轻量级的小线程,开销很小。但是受限于PPU,效率并不高。

到了PS4,job系统取代fiber,在job中,一个entity为一个整体,更直观有效的利用多核心多线程。
而顽皮狗又稍有不同,他们把fiber系统结合到了job系统中

每个CPU锁定一个工作线程,fiber作为工作线程的context,job在fiber的context内部执行。
通过这样的模型外加顽皮狗深入到牙齿般的优化工作,几乎可以让PS4的每个CPU都接近100%的利用率。
