2011-06-10 81 views
23

Instruments User Guide有这样一段话:在仪器中触发“颜色复制图像”和“颜色点亮绿色并错过红色”的是什么?

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

但是,这并不能解释为什么一个图像得到复制。虽然它是规则的和可重复的,但似乎从一个复制图像到另一个复制图像没有明显的模式。

该文档目前甚至没有提到颜色点击绿色和红色小姐,但我想它可能是与CALayershouldRasterize财产。

任何想法?

回答

8

对于彩色复印的图像,”这是关于很好地在会议谈到419 WWDC 2014:

“如果图像是彩色格式的GPU不能直接与工作,它会在CPU中转换。“

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

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

对于“颜色点击绿色和红色小姐,” OP是正确的,这是检查你是否正确使用“shouldRasterize”属性。绿色表示良好,您重新使用了从“shouldRasterize”属性创建的缓存。红色意味着不好,您需要写入缓存(导致屏幕外传递),然后绘制。

3

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

+0

为什么操作系统将特定于应用的图形映射到另一个进程? – 2012-01-07 04:23:50

+2

SpringBoard(直到iOS 5)/ BackBoard(iOS 6 +)过程处理iOS应用程序的所有呈现。参见WWDC 2012会话238,他们在3分钟内解释渲染步骤。 – ndfred 2012-11-08 13:14:53

相关问题