Javafx 2 JavaFX中的截锥剔除

Javafx 2 JavaFX中的截锥剔除,javafx-2,culling,Javafx 2,Culling,我希望在我的JavaFX应用程序中实现一些截头体剔除,因为场景外可能有大量节点,但有一些鼠标事件(如拖动)可能会将它们带回场景。JavaFX框架中是否已经存在某种方法,或者我必须自己实现它。我已经尝试过实现一种剪裁方法,它可以移除场景之外的节点,但是在鼠标事件之后很难更新场景 任何帮助都将不胜感激 谢谢您是要求永远完全删除节点,还是担心渲染 场景之外的节点根本不应该被渲染,这是由JavaFX处理的。我猜每个节点都附加了侦听器。。因此你正在创造 (n->)侦听器。。。 也许可以尝试创建一个方法,在

我希望在我的JavaFX应用程序中实现一些截头体剔除,因为场景外可能有大量节点,但有一些鼠标事件(如拖动)可能会将它们带回场景。JavaFX框架中是否已经存在某种方法,或者我必须自己实现它。我已经尝试过实现一种剪裁方法,它可以移除场景之外的节点,但是在鼠标事件之后很难更新场景

任何帮助都将不胜感激
谢谢

您是要求永远完全删除节点,还是担心渲染


场景之外的节点根本不应该被渲染,这是由JavaFX处理的。

我猜每个节点都附加了侦听器。。因此你正在创造 (n->)侦听器。。。 也许可以尝试创建一个方法,在悬停时添加拖动侦听器/并在悬停退出时删除。。此外,未在屏幕上呈现的节点也应删除此类侦听器

也许把那些听众包装在WeakListener类中


只是我的想法…

没有删除只是没有渲染。当使用鼠标事件滚动其余节点时,应用程序的性能会显著下降,如果存在大量节点,您如何知道场景中的节点正在被渲染?尝试使用jvisualvm进行评测,同时拖动节点以查看是什么消耗了处理能力。这可能会显示很多JavaFX内容,但可能会缩小范围。如果我有少量节点,则在拖动节点时几乎没有延迟,但是如果有100多个节点,则应用程序在拖动时会结巴,并且有很多延迟。这并不能直接回答您的筛选问题,但是设置和可能有助于缓解一些性能问题。