【发布时间】:2013-06-14 15:32:22
【问题描述】:
我正在研究画布速度优化,我找到了这个答案:https://stackoverflow.com/a/7682200/999400
- 不要使用奇数宽度的图像。始终使用宽度作为 2 的幂。
所以我想知道,为什么这更快?
我看到一些帖子解释说这有助于旧显卡(使用 OpenGL 等),但我说的是速度,而不是兼容性,以及画布,而不是 OpenGL/WebGL。
【问题讨论】:
-
我认为这是因为它使 mipmap 的构建更容易 - 如果你有两个大小的幂,你可以将大小减半并取其他所有元素来构建第一个 mipmap,再减半,等等依次变小mipmaps:en.wikipedia.org/wiki/Mipmapglprogramming.com/red/chapter09.html#name2
-
@Patashu,所以如果我理解正确,那么它对 加载 有帮助吗?
-
另一个原因可能是 2 的因数和除数对于计算机来说更容易处理,因为与较慢的模数和除法相比,它们可以通过快速位移来计算。虽然我不确定它究竟在哪里发挥作用,但我怀疑它很重要。
-
@Patashu 对于 3D 应用程序,您可能是正确的,但通常它有助于减少内存消耗。
-
@Jarrod 对,这是一个很好的观点——我在想的是与 3D 更相关。
标签: javascript performance canvas