Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 2D图形性能问题_Java_Graphics_2d - Fatal编程技术网

Java 2D图形性能问题

Java 2D图形性能问题,java,graphics,2d,Java,Graphics,2d,1) 使用位掩码透明度制作新图像时,仅在其上绘制一些东西,然后在另一个上面绘制,是否会导致性能损失;与在相同条件下绘制相同图像,但背景清除为不透明颜色相比 2) 绘制多个图像与绘制一个包含所有图像的大图像时,性能损失的重要性是什么 3) 从大图像(一张精灵纸)还是从他们的个人图像中画一小块图像更好?注意,我说的是内存映像,它们在磁盘上的表示并不重要。这里有很多未知参数: 什么是底层操作系统 JVM供应商/版本是什么 视频卡上有多少可用内存 图像有多大 图像硬件加速了吗 回答您的问题的唯一实用

1) 使用位掩码透明度制作新图像时,仅在其上绘制一些东西,然后在另一个上面绘制,是否会导致性能损失;与在相同条件下绘制相同图像,但背景清除为不透明颜色相比

2) 绘制多个图像与绘制一个包含所有图像的大图像时,性能损失的重要性是什么


3) 从大图像(一张精灵纸)还是从他们的个人图像中画一小块图像更好?注意,我说的是内存映像,它们在磁盘上的表示并不重要。

这里有很多未知参数:

  • 什么是底层操作系统
  • JVM供应商/版本是什么
  • 视频卡上有多少可用内存
  • 图像有多大
  • 图像硬件加速了吗

回答您的问题的唯一实用方法是运行基准测试。

-我对Windows和Linux感兴趣-Sun JDK的最新版本-这东西应该在没有视频卡的旧机器上运行,因此它也不是硬件加速的(GraphicsDevice.getAvailableAcceleratedMemory()=0)。对于图像的大小,考虑绘制500×500图像与绘制100个50X50图像。您应该测试您的应用程序,看看它是否足够好。最初,尽量使事情变得简单,因为底层实现已经进行了智能优化。