Java2D/Graphics2D 性能

标签 java performance awt java-2d

也许外面有人花时间在这上面。我正在使用 Java 开发图形可视化库,我刚刚做了一些性能测试。

当我添加由 1000 - 3000 条边连接的大约 2000 个顶点时,速度变得非常非常慢。有一些工具做得更好(例如 gephi)。他们是怎么做到的?默认情况下,Java2D 硬件不加速吗?我必须使用一些 OpenGL 库吗?

我在 JComponent 中绘制图形,它每隔几毫秒由计时器重新绘制一次(这并不重要,如果我给它 100 毫秒或 1 毫秒,它会保持很慢)。

我的方法有缺陷还是我不应该为此使用 Java2D?

感谢您的帮助!

最佳答案

正如 Torious 建议的那样,您可能想要使用 VolatileImage如果您在 Java2D 中工作以获得硬件加速的好处。

但是 - 如果您想要绝对最佳的性能,您最好选择基于 OpenGL 的解决方案。

LWJGL ( http://lwjgl.org/ ) 专为游戏而设计,但允许您使用几乎所有相关的 OpenGL 功能,因此也非常适合可视化。可能值得一试!

关于Java2D/Graphics2D 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10462952/

相关文章:

java - 将 PDF 与 iText 合并会导致关闭时出现 "Do you want to save changes...?"对话框

regex - 有没有办法优化这种灾难性正则表达式回溯的情况?

python - 在 cython 中生成高斯随机数的最有效和可移植的方法是什么?

java - 如何在 Java 中使轻量级 Swing 或 AWT 组件半透明

java - 更新 JPanel 图形时出现无限循环

java - 单击列表项时 ViewPager 变为空白

java - 电话调用编程逻辑

java - 从 Java Spring Boot 中的 OneToMany 关系获取特定值

javascript - mongodb .toArray 与 .each (阻塞与异步?)

Java-获取图形