什么触发仪器中的“彩色复制图像”和“颜色命中绿色和错过红色”?

时间:2011-06-10 04:38:39

标签: ios core-animation instruments

Instruments User Guide有这样说:

  
      
  • 彩色复制图像。将青色叠加层放在Core Animation复制的图像上。
  •   

但这并不能解释为什么图像被复制了。从一张复制的图像到另一张图像似乎没有明显的图案,尽管它是规则的和可重复的。

文档目前甚至没有提及 Color Hits Green和Misses Red ,但我认为它可能与CALayer的{​​{1}}属性有关

有什么想法吗?

2 个答案:

答案 0 :(得分:9)

对于彩色复制图像 ,”在第419届WWDC会议上对此进行了详细讨论:

“如果图像采用GPU无法直接使用的颜色格式,则会在CPU中进行转换。”

实施例: 想象一下,从无法控制格式的在线资源中获取图像。 JPEG支持24位彩色图像(每种颜色8位)。 TIFF格式可以存储48位彩色图像的颜色(每种颜色16位)。根据iOS的需要,可能需要转换这些差异。

解决方案是将它们在后台转换为正确的颜色格式,以防止在主线程上执行这些转换的性能问题。

对于“ 颜色命中绿色和错过红色 ”,OP是正确的,它是检查您是否正确使用“shouldRasterize”属性。绿色表示良好,您重新使用从“shouldRasterize”属性创建的缓存。红色表示不好,您需要写入缓存(导致屏幕外通过),然后绘制。

答案 1 :(得分:3)

如果图像由自定义数据提供程序支持,则可以复制图像,或者由于其他原因无法映射到其他进程。