gpt4 book ai didi

java - 优化 Java 图形

转载 作者:行者123 更新时间:2023-11-30 07:36:53 25 4
gpt4 key购买 nike

我为我的 Java 应用程序绘制了一个自定义 UI。现在我从头开始绘制整个 UI。我知道 UI 的某些部分是静态的。我知道我可以将这些静态部分保存到图像中,但这会提高性能吗(因为即使是每帧都必须绘制图像)?

是否可以在绘制 UI 后保存对 Graphics2D 对象的引用并将其分配给每一帧的新图形对象(从绘制所有静态组件的点开始) ?

提前致谢,艾伦

最佳答案

您不需要重绘每一帧中的所有内容。因此,如果您的 UI 有静态部分(或者甚至是您知道自上一帧以来没有改变的动态部分),那么您根本不需要重新绘制它们。

在我的代码中(主要是 Swing 游戏和模拟),我通常会尝试遵循以下规则:

  1. 预先准备静态图像(例如 UI 元素的 BufferedImage 纹理)
  2. 分别为每个 UI 元素覆盖 paintComponent() 方法以进行绘制
  3. 仅当我知道某些内容已更改时才调用任何给定 UI 元素的 repaint() 方法
  4. 在基于计时器的动画循环中调用 repaint(),但只在 UI 中正在动画的部分调用它(例如,嵌套的 JPanel)

这种方法似乎行得通并且表现得很好(尽管如果有改进的方法,我欢迎发表评论!!)

关于java - 优化 Java 图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3150699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com