Java 2D图形性能问题
1) 使用位掩码透明度制作新图像时,仅在其上绘制一些东西,然后在另一个上面绘制,是否会导致性能损失;与在相同条件下绘制相同图像,但背景清除为不透明颜色相比 2) 绘制多个图像与绘制一个包含所有图像的大图像时,性能损失的重要性是什么Java 2D图形性能问题,java,graphics,2d,Java,Graphics,2d,1) 使用位掩码透明度制作新图像时,仅在其上绘制一些东西,然后在另一个上面绘制,是否会导致性能损失;与在相同条件下绘制相同图像,但背景清除为不透明颜色相比 2) 绘制多个图像与绘制一个包含所有图像的大图像时,性能损失的重要性是什么 3) 从大图像(一张精灵纸)还是从他们的个人图像中画一小块图像更好?注意,我说的是内存映像,它们在磁盘上的表示并不重要。这里有很多未知参数: 什么是底层操作系统 JVM供应商/版本是什么 视频卡上有多少可用内存 图像有多大 图像硬件加速了吗 回答您的问题的唯一实用
3) 从大图像(一张精灵纸)还是从他们的个人图像中画一小块图像更好?注意,我说的是内存映像,它们在磁盘上的表示并不重要。这里有很多未知参数:
- 什么是底层操作系统
- JVM供应商/版本是什么
- 视频卡上有多少可用内存
- 图像有多大
- 图像硬件加速了吗
回答您的问题的唯一实用方法是运行基准测试。-我对Windows和Linux感兴趣-Sun JDK的最新版本-这东西应该在没有视频卡的旧机器上运行,因此它也不是硬件加速的(GraphicsDevice.getAvailableAcceleratedMemory()=0)。对于图像的大小,考虑绘制500×500图像与绘制100个50X50图像。您应该测试您的应用程序,看看它是否足够好。最初,尽量使事情变得简单,因为底层实现已经进行了智能优化。