Korean subtitles

← 02-05 GPU_Problem_Overdraw

Get Embed Code
13 Languages

Showing Revision 10 created 05/08/2016 by nc_translator1.

  1. 여러분께서 방이나 집의 벽을 직접 칠해보신 적 있으시면
  2. 힘든 일이라는 걸 아실 거예요
  3. 그리고 그 벽을 다시 칠해야 한다면
  4. 처음 칠하는데 들인 시간은 낭비가 된 거예요
  5. 벽을 칠하는데 시간을 허비하는 개념은
  6. 애플리케이션 성능 문제에 적용될 수 있어요
  7. 성능과 디자인의 교차 지점에는 공통되는 성능 문제가 존재해요
  8. overdraw입니다
  9. overdraw는 화면의 픽셀이 같은 프레임에서
    몇 번 덧칠됐는지 의미하는 용어에요
  10. 예를 들어 만약 저희가 여러 개의 UI 카드를 쌓아놓았다면
  11. 카드 무더기에서 가장 위에 있는
  12. 즉 유저에게 가장 가까이 있는 카드는
    나머지 카드의 대부분을 가리고 있을 거예요
  13. 그렇다면 보이지도 않을 카드의 대부분을
    그리는데 시간을 허비하게 되겠죠
  14. 이건 사실 매우 큰 문제입니다
  15. 왜냐면 렌더링한 픽셀이
    최종 화면에 보이지도 않는다면
  16. 저희는 GPU 처리시간을 낭비하는 것이거든요
  17. 최신 레이아웃을 사용하면 이 함정에 빠지기 더욱 쉽습니다
  18. 요즘엔 뷰를 쌓고 겹쳐서 아름다운 디자인을 만들지만
  19. 하지만 한편으로는 overdraw는 많아지거든요
  20. 애플리케이션의 성능을 최적화하기 위해선
  21. overdraw를 최소화해야 해요
  22. 다행스럽게도 여러분의 애플리케이션에서
    overdraw가 얼마나 발생하는지
  23. 안드로이드 기기에서 바로 확인이 가능해요
  24. 개발자 모드로 들어가서 ‘Show GPU Overdraw’ 옵션을 설정하세요
  25. 이때 여러분의 기기의 화면에
    굉장한 현상이 일어나도 걱정하지 마세요
  26. 아주 정상적인 현상이에요
  27. 안드로이드는 여러분의 화면에서
    overdraw가 발생하는 구역을 다른 색으로 표시합니다
  28. 한 번만 렌더링 된 픽셀은
  29. 색조 없이 본래 색으로 표시될 거예요
  30. 하지만 overdraw가 발생하는 부분은
    그만큼 색도 바뀔 거예요
  31. 1X overdraw는 파란색의 색조가 있는 부분이고
  32. 해당 픽셀을 한 번 수정했다는 뜻이에요
  33. 당연히 2X, 3X, 4X도 같은 패턴으로 이해하시면 됩니다
  34. 여러분의 애플리케이션 UI를 튜닝할 때
  35. overdraw를 최소화시키는 게 목적입니다
  36. 빨간 부분을 예쁜 파란색으로 바꾸는 거죠
  37. overdraw를 줄이는 목적을 달성하기 위해
    두 가지 방법을 활용할 수 있어요
  38. 첫 단계는 배경과 drawable들이
  39. 최종 뷰에 포함되지 않는다면 제외하는 거예요
  40. 기억하세요
    이건 자원 낭비에요
  41. 두 번째 단계는 화면에서 뷰가 가려질 부분을 명시해주는 겁니다
  42. 그럴 경우 CPU와 GPU 오버헤드를 줄일 수 있게 됩니다
  43. 자 그럼 크리스와 함께 overdraw 줄이기를 시작해보죠