gpt4 book ai didi

ios - Xcode内置png压缩效果

转载 作者:可可西里 更新时间:2023-11-01 17:06:12 27 4
gpt4 key购买 nike

我有一个关于 png-8 vs png-24 usage vs Xcode 内置 "image compressor" 的问题.

一些转换为 png-8 的图像可以这样保存,因为 png-24 版本之间的差异不容易被注意到。但是有些图像必须存储为 png-24 以便质量保持在高水平......当像 png-8 一样保存时,相同的图像大约小 3 倍,所以我想使用 png- 时内存消耗会有一些好处- 8 对 png-24。但我不确定的是:

  • iOS 是否更“喜欢”png-24?
  • 在 iOS 中使用 png-8 而不是 png-24 有什么问题吗?首选是什么?
  • 当 Xcode 中的 COMPRESS_PNG_FILES 设置为 YES 时,在 PS(或某些程序如 TexturePacker)中优化图像有什么好处,因为我认为 Xcode 以某种方式覆盖了我们在 PS 中完成的优化?
  • Xcode 在优化图像时实际上做了什么?

我知道让 Xcode 做它应该做的事情可能已经足够了,特别是对于具有足够内存和 CPU 能力的新设备,但我很好奇“幕后”发生了什么,这是否浪费时间在 Photoshop 中进行优化?

最佳答案

  • Does iOS "likes" more png-24?

iOS 当然喜欢它的图像接近它自己的硬件格式(见下文)。但是,它可能不会假定某种格式,或随意转换图像。这意味着默认的后处理可以将图像从调色板(8 位)转换为真彩色图像,如果应用程序希望其图像包含调色板,那将是破坏性的。调色板图像有许多好的和适当的用途。

  • Are there any problems with using png-8 instead of png-24 in iOS and what is a preferred choice?

颜色深度 - 对于某些类型的图像(但不是全部),颜色深度越高越好。尺寸 - 越小越好(决定什么时候,你自己)。除了 Sangony 声明之外,PNG 规范足够慷慨,即使在索引模式下也允许多于一位的 alpha。也就是说,通常的 RGB 调色板也可能是 RGBA,包括 alpha。我不知道更常见的 PNG 格式或什至不常见的格式有任何“问题”。

  • What are benefits to optimize image in PS (or some program like TexturePacker) when COMPRESS_PNG_FILES in Xcode is set to YES because I suppose Xcode in some way overwrites our optimization done in PS?

Photoshop 在优化 PNG 方面不是非常,但话又说回来它肯定不是最差的之一。 pngcrush(原版)专门用于尝试从 PNG 中压缩最后一个字节——但在其最高设置下,这样做确实需要一段时间。我可能在不知不觉中使用了 Apple 修改后的 pngcrush,因为它默认处于“打开”状态;我在编译代码时没有发现如此巨大的延迟,因此 Apple 的默认设置可能不是最高的可能设置。这表明手动运行 pngcrush 可能是值得的,在这种情况下,您绝对不希望 XCode 撤消它。

  • What actually Xcode does when optimizing images?

最明显的“优化”是:将存储顺序从 RGB 切换为 BGR,并通过将其与颜色 channel 预乘来丢弃 alpha channel 。另见 my earlier answer .

thingy 的存储顺序大概是默认目标设备(iPad、iPhone)的最佳选择。预乘 alpha 是一种常用的优化方法,因为这样可以减少实时显示图像的计算量。 (它也有一些缺点。)

在没有任何精确测量的情况下,我们只能推测这些优化对现代硬件是否真的很重要。所有到“显示”格式的内部转换都可以尽快缓存。

关于ios - Xcode内置png压缩效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28839208/

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