切换语言: Deutsch English 한국어 Português, Brasil Русский

Transport belts/Physics/zh: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (Category overhaul)
m (Remove unused links)
Line 1: Line 1:
{{Languages}}
{{Languages}}{{sublinks}}
{{sublinks}}
在异星工厂中所有屏幕上的物品都在内存中是一个真实的对象并且遵循着游戏引擎的规则。作为一个模拟游戏,这不是典型的常见的。一个贴切的例子就是在旧版本的模拟城市中,并没有模拟每一个城市中的住户。
在异星工厂中所有屏幕上的物品都在内存中是一个真实的对象并且遵循着[[Game engine/zh|游戏引擎]]的规则。作为一个模拟游戏,这不是典型的常见的。一个贴切的例子就是在旧版本的模拟城市中,并没有模拟每一个城市中的住户。


这是受限于CPU的性能。实时物理模拟最多同时有100,000个对象,对于一个模拟游戏来说是少见的。异星工厂[[Game engine/zh|游戏引擎]]创建了一个精确的、可复用的模拟异星工厂世界,它是如此的精确,可以被用于计算一些惊人惊异的传送带的特性。
这是受限于CPU的性能。实时物理模拟最多同时有100,000个对象,对于一个模拟游戏来说是少见的。异星工厂游戏引擎创建了一个精确的、可复用的模拟异星工厂世界,它是如此的精确,可以被用于计算一些惊人惊异的传送带的特性。


== 计算什么 ==
== 计算什么 ==
Line 157: Line 156:
* [[Transport network/zh|常规物流系统]]
* [[Transport network/zh|常规物流系统]]
** [[Transport belts/zh|传送带]]
** [[Transport belts/zh|传送带]]
* [http://www.conveyorbeltguide.com/ 真实传送带的一些常用信息]
* [http://www.conveyorbeltguide.com/ 真实传送带的一些常用信息]


{{C|Belt transport system}}
{{C|Belt transport system}}

Revision as of 01:57, 14 July 2018

< Transport belts | Physics | zh

在异星工厂中所有屏幕上的物品都在内存中是一个真实的对象并且遵循着游戏引擎的规则。作为一个模拟游戏,这不是典型的常见的。一个贴切的例子就是在旧版本的模拟城市中,并没有模拟每一个城市中的住户。

这是受限于CPU的性能。实时物理模拟最多同时有100,000个对象,对于一个模拟游戏来说是少见的。异星工厂游戏引擎创建了一个精确的、可复用的模拟异星工厂世界,它是如此的精确,可以被用于计算一些惊人惊异的传送带的特性。

计算什么

传送带有一些可以被计算的东西:

  • 长度(或者面积)。物品的碰撞盒是0.28 x 0.28的。所以10个物品在传送带上排成一列,不移动的时候,其长度为2.8格。
  • 速度。物品在传送带上的速度单位常用的是格/秒或者格/分钟。注意,实际上它们的计算单位是格/刻(1/60秒)
  • 密度。参见长度。密度是一格传送带上可以放置多少物品:多少物品可以按一列/一侧放置。平均值是每格3.571个物品或者每格7.143个物品(=两侧)。但是在静止或者移动时,有不同的密度——可以做深入阅读!
  • 吞吐量。每分钟每格有多少物品被运输到下一格。计算单位是物品/秒或者更常用的是物品/分钟

更多有关内容可以参见这里

理论

这里的所有数据是取自传送带的原型。

预期结果
传送带类型 速度因子 速度(格/刻) 速度(格/秒) 速度(格/分) 密度(单侧) 物品/格 预期吞吐量(双侧) 物品/秒 预期吞吐量 物品/分
基础 1 0.03125 1.875 112.5 3.571 13.39125 803.475
快速 2 0.0625 3.75 225 3.571 26.7825 1606.95
高速 3 0.09375 5.625 337.5 3.571 40.17375 2410.425

我们在此可以假定,密度都是一致的,所以运输数量是速度的反映。

(注意:基础和快速传送带在测试时达到了最大吞吐量分别是12和20个物品/秒。)

计算结果

这个计算结果是用一个特殊设计的工厂(一个复杂的保障体系,只有在传送带上的物品被统计,一个定时器可以在准确的时间停止计算)得到的,游戏版本为Factorio v0.6.x,所以这个必须重做。

参见这里

简单的直线传送带
传送带种类 吞吐量 物品/分 吞吐量 物品/秒 效率(100%为达到预期) 备注
基础 719 11.98 90%
快速 1184 19.73 74% 不是基础传送带的两倍快!它只是1.65倍快。
高速 1775 29.58 74% 大约是基础传送带的2.5倍快。


有4个转弯的传送带(2左2右)
传送带种类 吞吐量 物品/分 备注
基础 477-486 大约1.5倍慢。这是因为传送带内侧的物品转弯速度只有一半。
快速 786-792
高速 1038-1042


有4个转弯的传送带(2左2右),但是在转弯处用更快的传送带
传送带种类 吞吐量 物品/分 备注
基础和转弯处的快速传送带 674-683
快速和转弯处的高速传送带 1058-1061 快速传送带和转弯处用高速传送带看起来比全用高速传送带更快!

结论

第一个令人惊讶的结论是,理论上的吞吐量与实际的测量值不同。大多是测量误差。第二个结论是,传送带的速度越快,其效率越低。这不是明显能看到的。预期的结论是,快速传送带的运输量是基础传送带的2倍,因为它比基础的快2倍(1.875格/秒和3.75格/秒)。

这种差异的原因是因为在传送带运行时,物品之间的距离。物品在传送带上运输时,不能完全紧凑,他们之间有一个小距离。这跟交通拥堵的问题一样:你不可能在前车起步时马上就跟上,你需要等前车起步后有大约1/2秒的反应时间,然后你再起步。同样的传送带上的物品的反应时间是1/60秒或1刻[这不是非常精确,但是不会超过2刻;这可以通过计算通过物品的驻波是多少来得到(这需要建立一个非常复杂的测试工厂)]。当你有一条完全放满东西的传送带,在某一时刻移除一个物品,你可以看到这个反应时间在物品间以驻波的形式存在。当你比较驻波的速度时,你可以非常清楚的看到,不同种类的传送带中驻波的速度是完全相同的。

基础传送带上物品的反应距离是

 (1.875 格/秒)/1刻 = 1.875格/秒 / 1/60秒 = 0.031125格

或者可以说:一个物品在传送带上的运动时不是0.28格长了,它是0.31125格,多了11.2%。

对于所有传送带:

 基础传送带: 0.28格 + 0.03125格 = 0.31125格 => 11.2%
 快速传送带: 0.28格 + 0.0625 格 = 0.3425 格 => 22.3%
 高速传送带: 0.28格 + 0.09375格 = 0.37375格 => 33.5%

这就可以解释基础传送带的90%效率和快速传送带的74%效率(所有内部测量误差),但是不能解释高速传送带的效率。这需要更深入的研究。

这清楚的展示了,更快的传送带上运动的物品有更大的间距。更大的间距就意味着密度的降低以及并没有理论上那么多的物品被运输了。

(这可能解释了物品运输上的一些问题,但是不要在真实计算中使用这些数字,因为这些必须要重做!) (这是最终的一个原因:http://www.factorioforums.com/forum/viewtopic.php?f=8&t=3630)

参见