2011-06-10 79 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

相關問題