gpt4 book ai didi

iphone - 在 iPhone *上*将 .png 转换为 PVRTC

转载 作者:太空狗 更新时间:2023-10-30 03:45:25 27 4
gpt4 key购买 nike

是否有标准机制或已知库可以将 .png 图像转换为 iPhone 本身上的压缩 PVRTC 纹理(而不是在使用 OS X 上的标准工具进行开发期间)。

我的应用程序中有许多 .png 纹理,但交换是个问题。我想在设备上创建 .png 的 PVRTC 变体,如果可用内存在应用程序启动时较低(或者可能在应用程序首次加载时)。

最佳答案

我还没有在网上看到任何关于如何手动构建 PVRTC 图像的信息,据我所知,iPhone 不支持此功能(并且不需要读取 PVRTC 文件).

对于大多数应用程序来说,包含或构建两个版本的文件意义不大。在最佳条件下,PVRTC 版本与 PNG 版本几乎没有区别,实际上只是为直接流式传输到视频内存而优化的文件的“预处理”版本。

通常最好查看所有图像并决定如何最好地打包图像以平衡所有用户的内存保护和质量,而不仅仅是在特定的内存受限情况下。

需要考虑的几件事(如果这是多余的知识,请见谅):

  1. PVRTC 文件在处理复杂的 alpha 混合图像时可能会出现问题,因为预处理会导致混合边缘出现难看的伪影。
  2. 不透明的 PNG 文件应在原始图像中移除其 alpha channel (节省内存和混合开销)。
  3. 对于颜色范围有限的图像,将图像从 PNG32 缩小为 PNG16 或 PNG8 以节省磁盘内存。
  4. 如果这是针对基于 OpenGL 的程序,请考虑使用支持替代像素格式(例如 565 和 4444)的增强版 Texture2D(例如来自 Cocos2D)。这可以大大减少显卡的开销,同时对图像的影响最小质量,通过仔细选择与原始图像中的颜色平衡相对应的像素格式。
  5. 此外,对于基于 OpenGL 的程序,请避免使用单独的图像 (320x480) 作为背景,因为这会导致每个图像在内存中产生 512x512 的纹理。将图像分成更小的部分或将图像设为 512x512 并用其他图像填充额外的空间,以便只需要加载一个纹理。
  6. 与所有事情一样,首先关注最大的图片以获得最大的 yield 。

还值得注意的是,由于您的应用程序将是唯一运行的东西(系统应用程序除外),因此唯一的实际内存开销将是有限的“磁盘”空间。制作所有图像文件的第二个副本实际上对你不利而不是帮助。

巴尼

关于iphone - 在 iPhone *上*将 .png 转换为 PVRTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1020944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com