我刚刚切换到使用Ashley处理实体系统,但我似乎无法找出分离更新游戏逻辑和渲染的最佳方法。我有一个名为transform
的系统,它只是循环遍历所有具有RenderSystem
,RenderComponent
和PositionComponent
的实体,然后将它们绘制到屏幕上。但是,截至目前,我在更新循环中更新了引擎,每秒最多更新60次。我想在这个更新循环中更新物理,输入和其他游戏逻辑,同时在另一个没有上限的循环中单独完成所有渲染。
在Ashley中分离渲染系统和更新系统的最佳做法是什么?
答案 0 :(得分:0)
也许您可以利用Java的多线程功能并创建多个Ashley引擎实例(共享一个公共实体池)并让它们在不同的线程中运行。不知道你如何在两个引擎之间同步数据,但是如果你可以将它拉下来,那么你将拥有可以使用独立帧速率在其实体上循环的引擎。