gpt4 book ai didi

java - 缓存部分 2D 绘图是一种好习惯吗?

转载 作者:行者123 更新时间:2023-11-29 06:04:24 25 4
gpt4 key购买 nike

我正在用 Java 制作 2D 游戏,导致低 FPS(在我的慢速笔记本电脑上)的主要问题之一是必须将复杂的结构重新绘制到 Graphics 实例,例如带有标记的表盘。

除非调整窗口大小,否则表盘及其标记永远不会改变,所以我认为绘制到 BufferedImage 并重新绘制图像而不是重新绘制是个好主意细节。针的位置明显改变了,所以这个就可以画在上面了。

我从来没有听说过这样做是为了提高 2D 游戏的 FPS,所以我想知道存储图像缓存是否真的是个好习惯,或者是否有更好的方法来解决这类问题?有没有我没有考虑过的与此相关的问题?

最佳答案

缓存图像不是一个坏主意:您可以依靠光栅渲染在大多数平台上得到很好的优化。根据我的经验(无可否认,主要是在涉及 2D 图形的移动设备上)Graphics.drawXXX() 方法通常比 Graphics.drawImage() 慢得多。

根据我的经验,绝大多数 2D 游戏都使用 Sprite (即图像)来渲染几乎所有内容。即使图形看起来像是使用基元渲染的,通常也是如此!

另一个值得考虑的有用技术是根本不重绘区域,除非你真的需要!

编辑:

正如其他人所提到的,主要的权衡是您将使用更多内存。您还必须确保在不再需要这些图像时释放它们。

关于java - 缓存部分 2D 绘图是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9036482/

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