玩到后面每一帧至少都要有几十万几百万次的计算吧,,,它是怎么做到的?
|
1
而且最神奇的是 cpu 和 gpu 的负载都不大。而同类型的游戏 anno1800 ( 3d 的),不仅负载高,而且内存和显存全都占满。
|
|
cestJan 3, 2021
2
负载不大?
1 核有难,15 核围观吧 另外 dev 认为最大 bottleneck 是 ram 频宽 改 multithread 收益也不大 |
|
VZikl1Jan 3, 2021 via Android
3
factorio 用的 allegro 引擎吧
|
|
fuxiuyinJan 3, 2021
4
感觉异星工厂应该是基于物品的,每一帧应该是先计算物品移动,然后就能知道有多少机械爪需要计算,之后就知道有哪些制造工厂需要更新,这样想算下来每一帧的计算量也不大。物品也不是每一帧都需要计算全部的,有些物品在传送带上卡着,前面的不动就肯定不会动。
|
|
5
|
|
6
补充#2 的多线程
https://www.factorio.com/blog/post/fff-215 这篇文章里说了多线程互相窃取 cache 甚至会让程序跑的更慢,最后说有良好的数据结构再用多线程会更好 |
|
secondwtqJan 3, 2021 via iPhone
7
Anno 1800 和 Factorio 是”同类型”的么……
|
|
himself65Jan 3, 2021
8
@pabupa 和 Factorio 同类型的游戏应该是 Rimworld 和 Prison Architect 这种(从开发角度),不过 Prison Architect 明显已经放弃治疗了
|
|
GirlphobiaJan 3, 2021 via Android
9
|
|
himself65Jan 3, 2021
10
|
|
11
@himself65 #6 我怎么看怎么感觉他说的是 false sharing,然后说祖传引擎不好改,干脆就弃疗了
说白了还是一核有难七核围观 ... |
|
learningmanJan 3, 2021
12
有人跟我说过,现代 CPU 近似认为每秒执行一亿次运算
|
|
RevenantJan 3, 2021
13
之前就一直听说异星工厂的多核优化不好,很吃 CPU 主频
千瓶流水线和万瓶流水线是两个世界 |
|
chenyu8674Jan 3, 2021
15
|
|
honjowJan 3, 2021 via iPhone
16
单核游戏🌚
|
|
shad0walkJan 4, 2021
17
实例化吧,一个 mesh,N 个 instances
|