java - 在 Java 中加速 2D 图像*而不*干扰 JMenus

标签 java performance swing 2d

已经实现的性能增强器: - 获取 GraphicsConfiguration 的兼容图像进行绘制 - 在 1.5 中启用 OpenGL 管道:由于严重的伪影而无法实现

到目前为止,我还好,该程序的主要瓶颈是绘制具有数千个图 block 的图像。不幸的是它不规则,否则我可以简单地设置像素 并缩放它们。 我使用 VolatileImages 和自己的渲染例程来加速图像(忽略重绘并使用计时器自行绘制)。结果令人高兴并且足够了,但是: 选择正常悬停在图像部分上的 JMenu 会受到严重干扰,因为 JMenu 被过度绘制。 Not Acceptable 且无法更改布局。

我尝试了JOGL的GLJPanel,但没有明显的性能提升。 那么是否有可能使用 VolatileImages(或其他与 acce 相关的轻量级组件,如 GLCanvas)并仍然获得正常的 JMenu 显示,如果是,如何?

最佳答案

您可以尝试将弹出窗口设置为非轻量级。我不太确定它是否有效,但它可以,因为弹出窗口是一个 native 组件,不会被 overdraw 。 将 Popups 设置为重量级:JPopupMenu.setDefaultLightWeightPopupEnabled(false)

更多信息:Mixing heavy and light components

关于java - 在 Java 中加速 2D 图像*而不*干扰 JMenus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/249718/

相关文章:

javascript - JS 和 Python 之间的基准测试性能差异

java - 如何将新的 JLabel 引用到现有的 JLabel

java - 每次我希望清除一个新的 DefaultStyledDocument 并重新开始时,构建一个新的 DefaultStyledDocument 是一种不好的形式吗?

java - derby + hibernate ConstraintViolationException 使用多对多关系

java - 如何检测记录被锁定时间过长?

java - 智能 : navigate to custom declaration based upon string in Java file

c - 循环计数器和指针

接口(interface)中的 Java 泛型

performance - 模拟缓慢的互联网连接 (mac)

java - 将 JScrollPane 添加到 JFrame