performance - JavaFX runlater 规范和性能

标签 performance javafx-2

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

最佳答案

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

关于performance - JavaFX runlater 规范和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17337130/

相关文章:

c++ - 向 C++ 代码添加人为延迟时会出现奇怪的结果。嵌入式Linux

c++ - 使用不同的符号表重新计算 Boost Spirit 解析的属性的最有效方法是什么?

mysql - 求和/格查询的最佳索引策略

未使用 JavaFX 2 slider labelFormatter

java - 为什么 java fx 2.0 不在 java 平台的图表上?

JavaFX .getChildren().add(root) 抛出 java.lang.IllegalStateException

Android 设备性能评估技术

performance - 如果表有大量记录 (400K) 与空表相比,插入速度会慢 4 倍

java - 无法删除 ObservableList 中的最后一个元素

java - 使用不可观察的数据填充 TableView