2017-03-16 14 views
0

Xcode 템플릿을 통해 생성 된 macOS 화면 보호기보기에 사각형 격자를 추가하는 기본적인 실험을하고 있습니다. 합리적으로 잘 작동하는 MacBook Pro를 사용하고 있지만 어떤 이유 때문에 ~ 900 NSView 개체로 구성된 그리드를 추가하면 시스템이 완전히 잠겨 화면 보호기가 멈 춥니 다.ScreenSaver보기에 NSView를 추가 할 때 성능 문제가 발생했습니다.

이것은 무리한 견해가 아닙니다. 흥미로운 점은 macOS 앱에서 정확히 같은 레이아웃을 시도했는데 (그림은 NSWindow입니다) 성능이 완전히 만족 스럽습니다.

차이점은 무엇입니까?

답변

0

성능 문제의 원인은 모든보기가 계층으로 백업 되었기 때문입니다. 뷰에 레이어가 필요하다는 요청을 중지하고 나면 성능이 크게 향상되었습니다.

개선 된 애니메이션 성능을 위해 대신 CAShapeLayer을 사용했습니다.