Android Overdraw

更多關於Android渲染性能請點擊這裏

Overdraw

在一幀內某個像素在屏幕上重新繪製了很多次

如何發現Overdraw

在開發者模式中打開 顯示GPU重複繪製
Android設備通過給像素着不同的顏色來在屏幕上顯示重複繪製的總量
如果只將一個像素渲染一次,將顯示本色。

Nx的重複繪製顯示藍色 標識像素被重複渲染了N次

Overdraw常見的原因

Overdraw根據你視圖疊加的方式產生

  • 大量層級堆疊佈局
  • 大量不需要的重複背景
  • 執行後臺任務導致佈局重繪
  • 文本框標題的背景
  • 頭像和頭像的背景

比如我們堆疊放置卡片,上方的卡片對用戶可見,他將大部分底部卡片遮蓋住了,這意味着我們需要花費時間來繪製這些卡片,而這些卡片大部分是不可見的。
我們每次渲染那些最後不會顯示的像素時,都是在浪費GPU的性能

現代佈局很容易不停地堆疊並分層防止圖像來獲取美觀的界面 也會造成 overdraw

只要簡單的移除不必要的背景

就能讓app從紅色變成平和的藍色

發佈了80 篇原創文章 · 獲贊 44 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章