離屏渲染

當(dāng)圖層屬性的混合體被指定為在未預(yù)合成之前不能直接在屏幕中繪制時(shí),屏幕外渲染就被喚起了。屏幕外渲染并不意味著軟件繪制,但是它意味著圖層必須在被顯示之前在一個(gè)屏幕外上下文中被渲染(不論CPU還是GPU)。圖層的以下屬性將會(huì)觸發(fā)屏幕外繪制:

  • 圓角(當(dāng)和maskToBounds一起使用時(shí))

  • 圖層蒙板

  • 陰影

    屏幕外渲染和我們啟用光柵化時(shí)相似,除了它并沒(méi)有像光柵化圖層那么消耗大,子圖層并沒(méi)有被影響到,而且結(jié)果也沒(méi)有被緩存,所以不會(huì)有長(zhǎng)期的內(nèi)存占用。但是,如果太多圖層在屏幕外渲染依然會(huì)影響到性能。

    有時(shí)候我們可以把那些需要屏幕外繪制的圖層開(kāi)啟光柵化以作為一個(gè)優(yōu)化方式,前提是這些圖層并不會(huì)被頻繁地重繪。

對(duì)于那些需要?jiǎng)赢嫸乙谄聊煌怃秩镜膱D層來(lái)說(shuō),你可以用CAShapeLayer,contentsCenter或者shadowPath來(lái)獲得同樣的表現(xiàn)而且較少地影響到性能。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Core Animation工具用來(lái)監(jiān)測(cè)Core Animation性能。它給我們提供了周期性的FPS,并且考慮到...
    F麥子閱讀 892評(píng)論 0 1
  • 相比于當(dāng)前屏幕渲染,離屏渲染的代價(jià)是很高的,這也是iOS移動(dòng)端優(yōu)化的必要部分。 OpenGL中,GPU屏幕渲染有以...
    一個(gè)人在路上走下去閱讀 9,120評(píng)論 0 74
  • GPU渲染機(jī)制 CPU 計(jì)算好顯示內(nèi)容提交到 GPU,GPU 渲染完成后將渲染結(jié)果放入幀緩沖區(qū),隨后視頻控制器會(huì)按...
    Cdream閱讀 698評(píng)論 0 0
  • 離屏渲染介紹 GPU屏幕渲染有以下兩種方式: On-Screen Rendering意為當(dāng)前屏幕渲染,指的是GPU...
    人生看淡不服就干閱讀 1,249評(píng)論 0 0
  • 從第一天會(huì)用手機(jī)和電腦使用網(wǎng)絡(luò)時(shí),就一直在網(wǎng)絡(luò)上接觸青少年,輔導(dǎo)他們心理問(wèn)題,就當(dāng)我是網(wǎng)絡(luò)上的義工。這里同...
    靜如初夏閱讀 304評(píng)論 0 0

友情鏈接更多精彩內(nèi)容