Chinese, Traditional subtitles

← 02-05 GPU_Problem_Overdraw

Get Embed Code
13 Languages

Showing Revision 1 created 01/08/2016 by sp8.

  1. 如果你有為家中牆壁刷過油漆
  2. 你就知道刷一面牆有多麼費工
    如果你又要重新再刷一次
  3. 那你第一次刷的等於都白費力氣了
  4. 這相同的概念
  5. 也可套用在APP的性能問題上
  6. 在性能與設計的交叉點
  7. 存在一個共通的問題
  8. 過度繪製
  9. 過度繪製是指一個螢幕上的像素
  10. 在同一畫格內被重複繪製過
  11. 舉例來說 我們有一疊UI的卡片
  12. 而最上層的卡片
    自然會隱藏下面大部分的卡片
  13. 也就代表說我們花了很多時間
    繪製很多張使用端根本看不到的卡片
  14. 這是個大問題
    因為我們每次彩現像素的時候
  15. 如果它並沒有顯示在最終的畫面裡
    那我們就浪費了GP的效能
  16. 今天我們看到很多的排版
    都掉入同樣的陷阱裡
  17. 就是將很多圖像堆疊在一起
    來創造一個有層次感且漂亮的設計
  18. 但這也同樣創造了過度繪製的問題
  19. 為了最佳化你的APP性能表現
  20. 你必須最小化過度繪製的問題
  21. 慶幸的
    你可以在你的安卓手機裡
  22. 輕易地看出過度繪製問題的程度
  23. 你只要進入開發人員模式
    並開啟顯示GPU過度繪製功能
  24. 當你手機螢幕
    突然顯示各種顏色時先別驚慌
  25. 這是完全正常的情況
  26. 安卓正在用不同的顏色
    來表示螢幕上過度繪製的程度
  27. 當你的像素只有被繪製過一次
  28. 你會看到螢幕上維持原來的色彩
  29. 當過度繪製程度增加時
    螢幕色彩也會跟著變多
  30. 1X的過度繪製會以藍色代表
  31. 這代表你的像素被重複繪製了一次
  32. 而2X、3X、4X
    則會遵循同樣的模式
  33. 所以當你在調整你的APP使用者介面時
  34. 你會希望盡量減少過度繪製的程度
  35. 把那些紅色區塊
    降到漂亮的藍色
  36. 要達到這個目標 有兩種方式
  37. 首先 你會希望刪除在最終顯示畫面
  38. 所有不會被看到的背景與繪製圖
  39. 記住 這些都是在浪費效能
  40. 再來 你可以定義出螢幕上有哪些區塊
  41. 是你已經知道會被覆蓋住的
    這將會幫助降低CPU與GPU支出
  42. 那我們就從最前面開始
    現在克里斯會帶我們探討過度繪製的問題