与仅使用自制线程相比,使用AnimationTimer是否具有性能优势



我最近从swing切换到javaFX,我注意到每个人都在使用AnimationTimer来制作游戏循环。我的问题是,与使用自制线程运行游戏循环相比,使用AnimationTimer是否有性能优势?因为到目前为止,只创建处理游戏渲染和更新的线程是可以的,但在javaFX中似乎没有人这样做,所以我想知道使用自制线程是否会导致任何性能问题。

提前感谢!

AnimationTimer的特点是它通常会以显示刷新率运行,并在JavaFX平台线程上执行,因此非常适合更新游戏UI。

然而,在UI线程上运行所有游戏逻辑可能不是最好的。这在很大程度上取决于你的比赛和要求。我会考虑运行一个后台线程来计算下一个游戏状态,然后只在AnimationTimer回调中进行渲染。当然,这会增加复杂性和同步性,所以你需要决定这在你的特定情况下是否有意义。

最新更新