【发布时间】:2018-03-02 09:40:16
【问题描述】:
我一直在阅读,选择纹理过滤器(特别是 MipMap 生成)可能会对应用程序的性能产生影响,但我无法真正理解它是如何工作的。所以有几个问题:
- MipMap 是每帧生成一次还是仅在纹理加载时生成一次?
- 如果每一帧,如果场景从一帧到另一帧是静态的(纹理大小和位置是恒定的),是否仍会重新生成。例如,如果您有一个静态 UI,那么在使用 MipMap 过滤时性能会更差吗?
- 如果只有一次,为什么它会影响性能?以何种方式影响性能?
我想知道,因为我发现使用(在 LibGDX 中)时一切看起来都好多了:
param.genMipMaps = true;
param.minFilter = TextureFilter.MipMapLinearLinear;
param.magFilter = TextureFilter.Linear;
但为什么这不是标准/最佳做法?有什么缺点?如果对于我的应用程序,它不会降低 fps,还有其他缺点吗?更多 GPU/CPU 密集型?更高的电池消耗(对于移动设备)?
【问题讨论】:
-
我会阅读这篇文章gamedevelopment.blog/texture-filter,它解释了纹理过滤的工作原理,解释了每个过滤器的作用,并向您展示了生成的示例图像,应该回答您的所有问题。
标签: opengl libgdx textures gpuimage