EGameThreadMethod
EGameThreadMethod 是一个枚举,用于指定游戏线程执行时使用哪种钩子。
值
| 键 | 说明 |
|---|---|
| ProcessEvent | 通过 ProcessEvent 钩子执行。调用频率较高(每帧多次)。 |
| EngineTick | 通过 EngineTick 钩子执行。每帧调用一次。 |
用法
-- Check availability before using a specific method
if EngineTickAvailable then
ExecuteInGameThread(function()
print("Runs once per frame\n")
end, EGameThreadMethod.EngineTick)
end
if ProcessEventAvailable then
ExecuteInGameThread(function()
print("Runs via ProcessEvent\n")
end, EGameThreadMethod.ProcessEvent)
end
相关全局变量
EngineTickAvailable- 布尔值;EngineTick 钩子可用时为 trueProcessEventAvailable- 布尔值;ProcessEvent 钩子可用时为 true
注意事项
- 如果两种方法都不可用,游戏线程执行函数会抛出错误。
- 可以通过
UE4SS-settings.ini中的DefaultGameThreadExecutionMethod配置默认方法。 - 请求的方法不可用时,函数会回退到另一种可用方法。
ProcessEvent通常更可靠,但触发非常频繁。EngineTick更适合与帧同步的操作,并且是基于帧的延迟所必需的。
另请参阅
原文:docs/lua-api/table-definitions/egamethreadmethod.md · 固定提交 560411f18512 · 来源与 MIT 许可