PowerVR的优点和缺点是什么?

Luk*_* Vo 1 java android powervr-sgx

我的游戏引擎最近添加了PowerVR(PVR)支持,经过对Google和维基百科的一些搜索,我只知道PVR的定义,但我不知道它的用途是什么,它的优点和缺点是什么.我正在为Android开发游戏,我应该使用什么,PNG还是PVR?

gma*_*lan 6

(PowerVR是Imagination Technologies Ltd.的品牌名称,指的是他们的图形加速技术.PVR是PowerVR Insider SDK中使用的纹理容器格式.PVRTC是PowerVR的纹理压缩方案,我认为你感兴趣...道歉,如果你不是)

PVRTC是一种运行时纹理压缩格式,用于PowerVR图形加速器(很多Android平台都有其中之一).与未压缩的32位纹理相比,PVRTC提供8x或16x压缩,每像素4位或每像素2位模式.因为它是运行时纹理压缩方案,所以不需要在图形核心本身之外的任何阶段解压缩(并且那里有专用电路),因此磁盘上的数据较小,上传到GL的数据较小,较小的内存和渲染时使用较小 - 几乎在所有方面都更好,更快.在移动系统上,内存带宽很宝贵并且通常是图形的性能瓶颈,它可以对您的帧速率(以及电源使用 - 内存访问带来功耗)产生巨大影响.

缺点:

  • PVRTC往往比磁盘上的PNG大 - PVRTC数据拉链(例如)非常适合磁盘存储.
  • PVRTC是有损压缩 - 与源图像相比,有时在PVRTC纹理中可以看到伪像.PNG是无损的,因此不存在问题
  • PVRTC不能与PowerVR之外的其他图形加速一起使用(目前) - 查看其他平台的DXT/S3TC(更大)或ETC(无alpha)压缩.
  • 只有正方形,二维功率纹理可能有效 - 例如32x32,512x512等.
  • 压缩可能非常慢

PNG不是运行时格式,因此PNG压缩优于未压缩图像的唯一优势是存储在磁盘上(或通过网络发送等) - 必须先由CPU解压缩PNG图像数据才能进行解压缩传递给GL或以任何方式绘制,即PNG与在这些平台上获得纹理的速度一样.

PNG是无损的,也支持alpha通道.

所以...

为了获得最佳性能,请尽可能使用PVRTC,并且如果不能使用其他版本的纹理 - 例如,压缩文物太明显或者您运行的平台不支持它.

进一步阅读:

制作PVRTC纹理:

希望有帮助......