1

在android中,当在视图上使用alpha混合时,视图被渲染为opengl纹理,然后纹理以alpha值在帧缓冲区上渲染......我想知道他们为什么这样做,成本不低直接用 alpha 值将视图渲染到目标缓冲区???还是我在这里缺少什么?

4

1 回答 1

0

您错过了必须进行混合才能获得最终颜色的东西,为此有 3 个选项:

  1. 使用 GPU 与帧缓冲区混合。
  2. 在硬件中混合到帧缓冲区。
  3. 使用图像合成/处理硬件进行混合。

如果您想知道为什么不直接访问帧缓冲区,渲染到纹理的原因是与目标 alpha 相关,即将存储在纹理中的 alpha 值。如果视图的透明部分下面有东西,这将存在。您建议的优化只能在保证视图不透明的情况下使用。

于 2013-01-31T09:44:25.590 回答