也许有人在这方面花费了时间。我正在开发一个Java图形可视化库,并进行了一些性能测试。当我添加大约2000个由1000-3000条边连接的顶点时,速度变得非常慢。有一些工具做得更好(例如gephi)...他们是如何做到的?Java2D默认是否硬件加速?我需要使用一些OpenGL库吗?我在JComponent内绘制图形,该组件每隔几毫秒就会被计时器重新绘制(无论我给它100毫秒还是1毫秒,速度都非常慢)。我的方法是否有误或者我不应该使用Java2D来实现这个功能?谢谢您的任何帮助!
正如Torious所建议的,如果您正在使用Java2D进行工作并想要获得硬件加速的好处,那么您可能希望使用VolatileImage。
然而,如果您想要绝对最佳的性能,那么您可能更适合选择基于OpenGL的解决方案。
LWJGL(http://lwjgl.org/)是专为游戏设计的,但允许您使用几乎所有相关的OpenGL功能,因此也非常适合可视化。值得一试!
VolatileImage
吗? - ToriousBufferedImage
不是硬件加速的,而VolatileImage
是(如果可用)。 - Torious