也许有人在那里花了一些时间。我正在使用Java开发图形可视化库,并且进行了一些性能测试。
当我添加由1000-3000条边连接的大约2000个顶点时,它变得非常非常慢。有一些工具可以做得更好(例如gephi)。它们是如何做到的? Java2D硬件不是默认加速吗?我必须使用一些OpenGL库吗?
我在JComponent内绘制图形,该图形每隔几毫秒被计时器重绘一次(没关系,如果我给它100毫秒或1毫秒,它将保持很慢)。
我的方法有缺陷吗?或者我不应该为此使用Java2D吗?
感谢您的任何帮助!
最佳答案
正如Torious建议的那样,如果您正在Java2D中工作,则可能要使用VolatileImage以获得硬件加速的好处。
但是,如果要获得绝对最佳的性能,最好采用基于OpenGL的解决方案。
LWJGL(http://lwjgl.org/)是为游戏设计的,但允许您使用几乎所有相关的OpenGL功能,因此对于可视化也非常有用。可能值得尝试一下!