java - 不同的缓冲区策略大小如何影响性能?

标签 java image

在 Java 中,在 Canvas 类中,我曾经听过有人解释说,当您从 1 到 2 和 2 到 3 时,更大的缓冲策略更有效,但超过 3 时并没有什么不同。为什么大于 3 的 bufferstrategy 大小不会显着提高速度,从 createBufferStrategy(2) 到 createBufferStrategy(3) 的增加是如何工作的?

最佳答案

当且仅当您不希望动画撕裂时才会出现性能问题:在这种情况下,您必须等待系统完成缓冲区的显示,然后再更改此缓冲区。

因此,对于 1 个缓冲区,您必须等待,什么也不做。 使用 2 个缓冲区,您可以在显示第一个缓冲区时写入另一个缓冲区,但如果您足够快,您可能会在开始下一帧之前等待。 使用 3 个缓冲区,您可以再次做某事而不是等待。

在第一个缓冲区完全显示之前,不太可能在第三个缓冲区中完成绘图,因此增益在 3 个缓冲区以上非常低。

请注意,您使用的缓冲区越多,托管这些缓冲区所需的内存就越多。这在普通计算机上不是问题,但它可能适用于手机应用程序。

关于java - 不同的缓冲区策略大小如何影响性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13575496/

相关文章:

Java RSA 到 PHP phpseclib RSA

javascript - jquery的问题?

javascript - 无法获取html文件中的图片

java - 如何使用分水岭改进图像分割?

iphone - UITableViewCell 背景 View /图像

java - 如何使用 for 循环使用 "%"分割字符串

Java Spring : need wildcard @RequestMapping to match everything BUT/images/* with access to raw URL

java - 了解 Java 内存管理

java - 填充 ListView 给了我奇怪的符号

javascript - 如何显示保存到本地存储的图像?