本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
时钟
clock
部分指定模拟时钟的属性。目前,您只能配置刻度率(时钟每秒发送给应用程序的时钟周期数)。刻度率是最大速率。有效刻度率可能会更低,因为在下一个时钟周期开始之前,所有客户的操作(如实体更新)都必须完成。刻度率也称为时钟频率。
tick_rate
的有效值取决于架构中 sdk_version
指定的值。
刻度率的有效值
-
低于
"1.14"
的版本:10
15
30
-
版本
"1.14"
或更高版本:"10"
"15"
"30"
-
"unlimited"
有关更多信息,请参阅无限制刻度率。
重要
-
对于低于
"1.14"
的sdk_version
,tick_rate
的值为整数,例如30
。 -
对于
sdk_version
为"1.14"
或更高版本的架构,tick_rate
的值是一个字符串,例如"30"
。该值必须包含在双引号内。如果将版本
"1.12"
或"1.13"
的架构转换为版本"1.14"
或更高版本,则必须将tick_rate
的值包含在双引号中。
无限制刻度率
您可以将 tick_rate
设置为 "unlimited"
,以便让模拟的运行速度与代码的执行速度一样快。凭借无限制的刻度率,在所有应用程序完成当前时钟周期的提交后,SimSpace Weaver 会立即发送下一个时钟周期。
重要
1.14.0 之前的 SimSpace Weaver 版本不支持无限制的刻度率。架构中 sdk_version
的最小值为 "1.14"
。
SimSpace Weaver Local 中的无限制刻度率
SimSpace Weaver Local 实现 "unlimited"
时就像架构指定 10 kHz (10000) 的刻度率一样。其效果与在 AWS Cloud 中指定无限制刻度率相同。您仍然可以在架构指定 tick_rate: "unlimited"
。有关 SimSpace Weaver Local 的更多信息,请参阅 当地发展 SimSpace Weaver。
有关时钟的常见问题解答
问题 1:我能否将 STARTED 模拟更改为使用不同的刻度率?
对于在生命周期的任何阶段已存在于 AWS Cloud 中的模拟,您都无法更改刻度率。您也无法更改正在 SimSpace Weaver Local 中运行的模拟的刻度率。您可以在架构中设置 tick_rate
,然后从该架构启动新的模拟。
问题 2:我能否在 1.14 之前的版本中以无限制的刻度率运行模拟?
不能,1.14.0 之前的版本不支持无限制的刻度率。
排除时钟错误
如果模拟无法启动,则可以在 DescribeSimulation API 的输出中查看 "StartError"
的值。架构中的无效的 tick_rate
值将产生以下错误。
注意
为了提高可读性,此处显示的错误输出以多行显示。实际错误输出只有一行。
-
低于
"1.14"
的sdk_version
和tick_rate
的值是无效整数。有效值:10
、15
、30
"[{\"errorType\":\"SchemaFormatInvalid\",\"errorMessage\": \"$.clock.tick_rate: does not have a value in the enumeration [10, 15, 30]\"}]"
-
低于
"1.14"
的sdk_version
和tick_rate
的值是字符串。有效值:10
、15
、30
"[{\"errorType\":\"SchemaFormatInvalid\",\"errorMessage\": \"$.clock.tick_rate: does not have a value in the enumeration [10, 15, 30]\"}, {\"errorType\":\"SchemaFormatInvalid\", \"errorMessage\":\"$.clock.tick_rate: string found, integer expected\"}]"
-
sdk_version
是"1.14"
或更高版本,tick_rate
的值是无效字符串。有效值:"10"
、"15"
、"30"
、"unlimited"
"[{\"errorType\":\"SchemaFormatInvalid\",\"errorMessage\": \"$.clock.tick_rate: does not have a value in the enumeration [10, 15, 30, unlimited]\"}]"
-
sdk_version
是"1.14"
或更高版本,tick_rate
的值是整数。有效值:"10"
、"15"
、"30"
、"unlimited"
"[{\"errorType\":\"SchemaFormatInvalid\",\"errorMessage\": \"$.clock.tick_rate: does not have a value in the enumeration [10, 15, 30, unlimited]\"}, {\"errorType\":\"SchemaFormatInvalid\", \"errorMessage\":\"$.clock.tick_rate: integer found, string expected\"}]"