Xcode 内置png压缩效果
Xcode built-in png compression effects
我有一个关于 png-8 与 png-24 用法与 Xcode 内置 "image compressor" 的问题。
一些转换为png-8的图像就这样保存了,因为不容易注意到png-24版本之间的差异。但是有些图像必须存储为 png-24 以便质量保持在高水平......当像 png-8 一样保存时,相同的图像大约小 3 倍,所以我想使用 png- 时内存消耗会有一些好处- 8 对 png-24。但我不确定的是:
- 是否 iOS "likes" 更多 png-24 ?
- 在 iOS 中使用 png-8 而不是 png-24 有什么问题吗?首选是什么?
- 当 Xcode 中的 COMPRESS_PNG_FILES 设置为 YES 时,在 PS(或像 TexturePacker 这样的程序)中优化图像有什么好处,因为我想 Xcode 在一些方式覆盖我们在 PS?
中完成的优化
- 优化图像时 Xcode 实际做了什么?
我知道让 Xcode 做它应该做的事情可能已经足够了,特别是对于具有足够内存和 cpu 功率的新设备,但我很好奇发生了什么 "under the hood" 在 Photoshop 中进行优化是否浪费时间?
除了 PNG8 和 PNG 24 之间的可用颜色外,主要区别在于透明度方面。
PNG8 alpha 的外观有时会有些锯齿,而 PNG24 则要平滑得多。如果您不关心 alpha 并且图像看起来足够好,那么 PNG8 可能是最佳选择。
PNG8 Alpha
PNG24 Alpha
Xcode使用PngCrush behind the scenes to optimize .png files. Here也是一个很好的博客post可以回答你的问题
- 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。我不知道有任何 "problems" 具有更常见的 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
,因为它默认为 "on";我在编译代码的时候没有发现这么大的延迟,所以Apple的默认可能不是最高的possible设置。这表明手动 运行 pngcrush
可能值得花时间,在这种情况下,您绝对不希望 XCode 撤消它。
- What actually Xcode does when optimizing images?
最明显的 'optimizations' 是:将存储顺序从 RGB 切换到 BGR 并通过将其与颜色通道预乘来丢弃 Alpha 通道。另见 my earlier answer。
存储顺序大概是默认目标设备(iPad、iPhone)的最佳选择。预乘 alpha 是一种常用的优化方法,因为这样可以减少实时显示图像的计算量。 (它也有一些缺点。)
在没有任何精确测量的情况下,只能推测这些优化对现代硬件是否真的很重要。所有到 'display' 格式的内部转换都可以尽快缓存。
我有一个关于 png-8 与 png-24 用法与 Xcode 内置 "image compressor" 的问题。
一些转换为png-8的图像就这样保存了,因为不容易注意到png-24版本之间的差异。但是有些图像必须存储为 png-24 以便质量保持在高水平......当像 png-8 一样保存时,相同的图像大约小 3 倍,所以我想使用 png- 时内存消耗会有一些好处- 8 对 png-24。但我不确定的是:
- 是否 iOS "likes" 更多 png-24 ?
- 在 iOS 中使用 png-8 而不是 png-24 有什么问题吗?首选是什么?
- 当 Xcode 中的 COMPRESS_PNG_FILES 设置为 YES 时,在 PS(或像 TexturePacker 这样的程序)中优化图像有什么好处,因为我想 Xcode 在一些方式覆盖我们在 PS? 中完成的优化
- 优化图像时 Xcode 实际做了什么?
我知道让 Xcode 做它应该做的事情可能已经足够了,特别是对于具有足够内存和 cpu 功率的新设备,但我很好奇发生了什么 "under the hood" 在 Photoshop 中进行优化是否浪费时间?
除了 PNG8 和 PNG 24 之间的可用颜色外,主要区别在于透明度方面。
PNG8 alpha 的外观有时会有些锯齿,而 PNG24 则要平滑得多。如果您不关心 alpha 并且图像看起来足够好,那么 PNG8 可能是最佳选择。
PNG8 Alpha
PNG24 Alpha
Xcode使用PngCrush behind the scenes to optimize .png files. Here也是一个很好的博客post可以回答你的问题
- 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。我不知道有任何 "problems" 具有更常见的 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
,因为它默认为 "on";我在编译代码的时候没有发现这么大的延迟,所以Apple的默认可能不是最高的possible设置。这表明手动 运行 pngcrush
可能值得花时间,在这种情况下,您绝对不希望 XCode 撤消它。
- What actually Xcode does when optimizing images?
最明显的 'optimizations' 是:将存储顺序从 RGB 切换到 BGR 并通过将其与颜色通道预乘来丢弃 Alpha 通道。另见 my earlier answer。
存储顺序大概是默认目标设备(iPad、iPhone)的最佳选择。预乘 alpha 是一种常用的优化方法,因为这样可以减少实时显示图像的计算量。 (它也有一些缺点。)
在没有任何精确测量的情况下,只能推测这些优化对现代硬件是否真的很重要。所有到 'display' 格式的内部转换都可以尽快缓存。