IOS 성능 최적화 중 스크린 렌 더 링

GPU 화면 렌 더 링 은 다음 과 같은 두 가지 방법 이 있 습 니 다.
On-Screen Rendering
현재 화면 렌 더 링 이란 GPU 의 렌 더 링 동작 이 현재 화면 버퍼 에서 진행 되 는 것 을 말 합 니 다.
Off-Screen Rendering
화면 에서 떨 어 진 렌 더 링 이란 GPU 가 현재 화면 버퍼 이외 의 버퍼 를 새로 열 어 렌 더 링 작업 을 하 는 것 을 말 합 니 다.
특수 한 화면 분리 렌 더 링:
GPU 의 현재 화면 버퍼 에 없 는 렌 더 링 을 모두 화면 렌 더 링 이 라 고 부 르 면 또 다른 특수 한'화면 렌 더 링'방식 이 있 습 니 다.CPU 렌 더 링 입 니 다.
만약 우리 가 drawRect 방법 을 다시 쓰 고 모든 코어 그래 픽 기술 로 그리 기 작업 을 했다 면 CPU 렌 더 링 과 관련 된 것 입 니 다.전체 렌 더 링 과정 은 CPU 가 App 에서 동기 화 됩 니 다.
완료,렌 더 링 된 bitmap 는 마지막 으로 GPU 에 의 해 표 시 됩 니 다.(CPU 렌 더 링->GPU 디 스 플레이) 
스크린 렌 더 링 을 언제 불 러 옵 니까? 
         원 각,그림자,마스크 를 사용 할 때 그림 속성 혼합 체 는 미리 합성 되 지 않 기 전에 화면 에 직접 그 릴 수 없 기 때문에 화면 밖으로 렌 더 링 이 필요 합 니 다.
 왜 스크린 렌 더 링 이 성능 소 모 를 초래 합 니까?
화면 외부 렌 더 링 은 소프트웨어 가 그 려 지 는 것 을 의미 하 지 는 않 지만,그림 이 표시 되 기 전에 화면 외부 상하 문 에서 렌 더 링 되 어야 한 다 는 것 을 의미 합 니 다.(CPU 든 GPU 든)
따라서 이 스크린 렌 더 링 을 사용 할 때 성능 소 모 를 초래 하기 쉽 습 니 다.OPENGL 에서 이 스크린 렌 더 링 은 메모리 에 화면 외 버퍼 를 따로 만 들 고 렌 더 링 을 하기 때 문 입 니 다.화면 외 버퍼 는 현재 화면 버퍼 의 컨 텍스트 와 전환 하 는 데 성능 이 많이 소모 되 기 때 문 입 니 다. 
계측기 로 스크린 렌 더 링 을 모니터링 하 다.
악기 의 Core Animation 도구 에는 스크린 렌 더 링 과 관련 된 몇 가지 검사 옵션 이 있 습 니 다.
Color Offscreen-Rendered Yellow
오픈 후 스크린 에서 렌 더 링 이 필요 한 그래 픽 을 노란색 으로 강조 합 니 다.이 는 노란색 그래 픽 에 성능 문제 가 있 을 수 있 음 을 의미 합 니 다.
Color Hits Green and Misses Red
shouldRasterize 가 YES 로 설정 되면 렌 더 링 결과 가 캐 시 됩 니 다.그림 이 녹색 이면 이 캐 시가 재 활용 되 었 음 을 표시 합 니 다.빨간색 이면 캐 시가 중복 생 성 된다 는 뜻 으로 성능 에 문제 가 있다 는 뜻 이다.
iOS 버 전의 최적화
iOS 9.0 이전 에는 UIimageView 와 UIButton 이 원 각 을 설정 하면 화면 이탈 렌 더 링 이 실 행 됩 니 다.
iOS 9.0 이후 UIButton 에서 원 각 을 설정 하면 화면 에서 떨 어 지 는 렌 더 링 이 실 행 됩 니 다.UIImageView 에서 png 이미지 설정 원 각 은 화면 에서 떨 어 지 는 렌 더 링 이 실 행 됩 니 다.다른 음영 효 과 를 설정 하면 화면 에서 떨 어 지 는 렌 더 링 이 실 행 됩 니 다.
이 는 애플 도 스크린 렌 더 링 이 성능 에 문제 가 생 길 수 있다 는 것 을 깨 달 았 기 때문에 스크린 렌 더 링 이 없 는 곳 에서 애플 도 스크린 렌 더 링 을 하지 않 아 도 된다.
이 글 을 통 해 여러분 을 도 울 수 있 기 를 바 랍 니 다.여러분 의 본 사이트 에 대한 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기