Version: 2018.1
iOS에서 성능 최적화
빌트인 프로파일러로 성능 측정

iOS 관련 최적화

이 페이지에서는 iOS 기기 배포에만 해당되는 최적화에 대해 자세하게 설명합니다.

스크립트 호출 최적화

UnityEngine 네임스페이스의 함수는 대부분 C/C++로 구현됩니다. Mono 스크립트에서 C/C++ 함수를 호출하면 성능이 저하되므로, iOS 스크립트 호출 최적화를 사용하면 프레임당 약 1–4 밀리초를 절약할 수 있습니다.

iOS 스크립트 호출 최적화에 액세스하려면 플레이어 설정 창으로 이동(메뉴: 편집(Edit) > 프로젝트 설정(Project Settings) > 플레이어(Player))하여 iOS 아이콘(아래 참조)을 선택합니다.

iOS 아이콘 - 플레이어 설정 창에서 iOS 설정에 액세스하려면 이 아이콘을 선택합니다.
iOS 아이콘 - 플레이어 설정 창에서 iOS 설정에 액세스하려면 이 아이콘을 선택합니다.

기타 설정(Other Settings) 섹션에서 스크립트 호출 최적화(Script Call Optimization) 설정을 찾습니다.

설정의 옵션은 다음과 같습니다.

  • 느리고 안전(Slow and Safe) - 예외를 지원하는 디폴트 Mono 내부 호출 처리입니다.
  • Fast but no exceptions - Mono 내부 호출 처리의 더 빠른 구현입니다. 하지만 예외 처리를 지원하지 않으므로 주의해서 사용해야 합니다. 이 옵션은 예외를 명시적으로 처리하지 않는(그리고 예외를 깔끔하게 처리하지 않아도 되는) 앱에 적합합니다.

참고: IL2CPP 스크립팅 백엔드를 사용할 경우 성능면에서 혜택은 없지만, 정의되지 않은 동작을 방지하지 위해 릴리스 빌드에 Fast but no exceptions 옵션을 사용하는 것이 좋습니다.

프레임 속도 설정

Unity iOS를 사용하면 애플리케이션이 렌더링 루프 실행을 시도하는 빈도를 변경할 수 있습니다. 기본 설정은 초당 30프레임입니다. 이 숫자를 낮춰서 배터리 소모를 줄일 수 있지만, 그러면 당연히 프레임 업데이트가 감소하는 대가를 치러야 합니다. 반대로 프레임 속도를 높여서 터치 입력이나 가속 센서 등 다른 작업보다 렌더링에 더 높은 우선 순위를 부여할 수도 있습니다. 프레임 속도를 다양하게 선택하고 실험해 보면서 게임플레이에 미치는 영향을 파악해야 합니다.

애플리케이션이 많은 연산이나 렌더링을 수반하고 예를 들어 초당 15프레임만 유지할 수 있는 경우 원하는 프레임 속도를 15보다 높게 설정해도 성능이 향상되지 않습니다. 더 높은 프레임 속도를 얻을 수 있으려면 애플리케이션을 충분히 최적화해야 합니다.

원하는 프레임 속도를 설정하려면 Application.targetFrameRate를 변경합니다.

가속 센서 프로세싱 프리퀀시 튜닝

가속 센서 입력이 너무 자주 처리되는 경우, 게임의 전반적인 성능이 저하되는 원인이 될 수 있습니다. Unity iOS 애플리케이션은 기본적으로 가속 센서를 초당 60번 샘플링합니다. 가속 센서 샘플링 빈도를 낮추면 성능이 다소 향상될 수 있고, 가속 센서 입력을 사용하지 않는 게임의 경우 0으로 설정할 수도 있습니다. 가속 센서 빈도는 iOS 플레이어 설정Other Settings 패널에서 변경할 수 있습니다.


  • 2018–06–14 일부 편집 리뷰를 거쳐 페이지 수정됨
iOS에서 성능 최적화
빌트인 프로파일러로 성능 측정