5

我正在用 JavaFX 编写一个简单的平台游戏。由于我必须使用Platform.runLater()(用于添加/删除节点),我知道在具有大量对象的大阶段可能出现的性能问题 ->runLater()每秒调用更多。
什么是最好的性能:在一次Platform.runLater()调用中将要在 JavaFX 线程中完成的操作分组或在一次迭代中多次调用它?它对性能和 UI 响应能力有多大影响?
例如,如果我在屏幕上有 20 个角色以 2 发子弹/秒的速度发射子弹。这将产生 40 次添加节点的调用,40 次删除节点的调用(击中表面的子弹将消失)和几次其他效果的调用。我如何定义哪种解决方案更好:
1. 每秒调用runLater()100 次。
2. 每帧分组动作(比如 30 fps)并每秒调用runLater()30 次。
3. 选择其他解决方案。我正在考虑“节点池”,它将容纳一些在舞台上但不可见的节点。这会将runLater()调用量降到最低。

4

1 回答 1

0

我不是 100% 肯定,但每个人都说“JavaFx 2 可以独立处理它的线程”......我从来没有制作足够大的程序来测试它,但我很确定 JavaFx 2 可以创建和删除(应用程序)线程如果它需要更多/更少。

于 2013-10-23T11:54:40.750 回答