離屏渲染的效能問題主要體現在兩個方面:
特殊的離屏渲染
- (void)display );
});}
除錯 color hits green and misses red 參考鏈結
除錯 光柵化的核心思想是快取。通過滑動可以看到:
color copied images
color misaligned images
除錯 *color misaligned images 表示如果需要縮放則標記為黃色,如果沒有畫素對齊則標記為紫色。
color offscreen-rendered yellow
// 設定圓角
label.layer
.maskstobounds = true
label.layer
.cornerradius = 8
label.layer
.shouldrasterize = true
label.layer
.rasterizationscale = layer.contentsscale
color non-standard su***ce formats (不標準的表面顏色格式)
color immediately
color compositing fast-path blue
flash updated regions
總結: 優化滑動效能主要涉及到三個方面
避免圖層混合
確保控制項的opaque屬性設定為true,確保backgroundcolor和父檢視顏色一致且不透明
如無特殊需要,不要設定低於1的alpha值
確保uiimage沒有alpha通道
避免臨時轉換
確保大小和frame一致,不要在滑動時縮放
確保顏色格式被gpu支援,避免勞煩cpu轉換
慎用離屏渲染
絕大多數時候離屏渲染會影響效能
重寫drawrect方法,設定圓角、陰影、模糊效果,光柵化都會導致離屏渲染
設定陰影效果是加上陰影路徑
滑動時若需要圓角效果,開啟光柵化
參考文章:
效能優化學習筆記
js css鬆散耦合盡量避免直接用js操作樣式,改為控制類名 element.classname edit 解耦應用邏輯和事件處理程式 使用常量優化效能,提公升 維護性 避免全域性查詢 優化迴圈效能乙個基本的for迴圈 for let i 0 i values.length i 乙個減值操作的for...
ORACLE SQL效能優化(學習筆記)
記錄小的表應該在from的最後 多表查詢時 寫條件時from最後的哪個表應該先寫 where條件時要先寫表之間的連線 select 字句避免用 儘量減少訪問資料庫的次數 刪除全表時用truncate替代delete 不可恢復 盡量多使用 mit 使用表的別名 alias 使用exists替代in 並...
LInux效能優化學習(二)
先用vmstat檢視系統上下文切換次數和中斷次數 然後通過pidstatguancha程序的自願上下文切換和非自願上下文切換情況 最後通過pidstat觀察執行緒的上下文切換情況,找出上下文切換次數增多的根源。使用的工具sysbench。先用top檢視系統和程序的cpu使用情況,發現cpu使用率公升...