# ScriptEngine::GetRuntimeFixedDeltaTime **命名空间**: `XCEngine::Scripting` **类型**: `method` **头文件**: `XCEngine/Scripting/ScriptEngine.h` ## 签名 ```cpp float GetRuntimeFixedDeltaTime() const; ``` ## 当前语义 返回 `ScriptEngine` 当前持有的运行时固定步长配置值,也就是 `m_runtimeFixedDeltaTime`。 它的来源当前只有两类: - [SetRuntimeFixedDeltaTime](SetRuntimeFixedDeltaTime.md) 写入的正值 - 默认回退值 [DefaultFixedDeltaTime](DefaultFixedDeltaTime.md) ## 生命周期行为 - 启动前如果已配置非默认值,[OnRuntimeStart](OnRuntimeStart.md) 会在内部 stop/start 之间保留这份配置。 - [OnRuntimeStop](OnRuntimeStop.md) 结束后,该值会重置为 [DefaultFixedDeltaTime](DefaultFixedDeltaTime.md)。 - 调用 [SetRuntimeFixedDeltaTime](SetRuntimeFixedDeltaTime.md) 并传入非正值,也会立刻回到默认值。 ## 与 `OnFixedUpdate()` 的区别 这个 getter 返回的是“配置的固定步长”,不是“某次具体 fixed tick 传进来的参数”。 当前 [OnFixedUpdate](OnFixedUpdate.md) 仍使用调用方显式传入的 `fixedDeltaTime` 参数驱动脚本生命周期;如果上层把两者配置成不同值,脚本回调收到的 delta 与这里返回的配置值就可能出现偏差。 ## 托管侧可见性 Mono 运行时的 `Time.fixedDeltaTime` 当前就是通过内部调用直接读取这个 getter,因此它也是托管脚本看到的固定步长配置值。 这也是为什么测试里会同时区分: - `FixedUpdate()` 里通过 `Time.deltaTime` 观察到的本次 fixed tick delta - 以及通过 `Time.fixedDeltaTime` 观察到的当前配置值 ## 真实行为依据 - `engine/src/Scripting/ScriptEngine.cpp` - `engine/src/Scripting/Mono/MonoScriptRuntime.cpp` - `managed/XCEngine.ScriptCore/Time.cs` - `tests/Scripting/test_mono_script_runtime.cpp` ## 相关文档 - [SetRuntimeFixedDeltaTime](SetRuntimeFixedDeltaTime.md) - [DefaultFixedDeltaTime](DefaultFixedDeltaTime.md) - [OnFixedUpdate](OnFixedUpdate.md)