Xcode 프레임 디버거 툴을 사용하면 애플리케이션의 프레임을 캡처하여 해당 프레임 동안 GPU가 수행한 커맨드를 보고, GPU 메모리의 데이터를 검사하고, 셰이더의 병목 현상을 식별할 수 있습니다. 따라서 GPU 성능을 매우 세세하게 분석할 수 있습니다.
Unity는 다음과 같은 방식으로 Xcode 프레임 디버거와 통합됩니다.
프레임 디버깅은 애플리케이션이 Xcode가 지원하는 플랫폼 및 그래픽스 API에서 실행되는 경우에만 작동합니다. Xcode는 Metal 그래픽스를 사용하는 macOS만 지원합니다. Unity가 다른 API를 사용하는 경우 지원되는 그래픽스 API를 선택할 때까지 Xcode 통합이 비활성화됩니다.
Xcode 프레임 디버거를 사용하여 프레임을 캡처하려면 다음 중 하나를 수행하십시오.
이 섹션에서는 Xcode UI 또는 FrameCapture API를 사용하여 애플리케이션을 실행하고 프레임 캡처를 수행하는 방법을 설명합니다. 이 워크플로는 Metal을 사용하는 모든 플랫폼에서 지원됩니다.
1. Xcode 프로젝트를 만듭니다.
Unity 에디터에서 Xcode 프로젝트를 생성하거나, 다른 Xcode 프로젝트를 사용하여 macOS 애플리케이션을 실행할 수 있습니다.
Unity 에디터에서 Xcode 프로젝트를 빌드하려면 다음 단계를 따르십시오.
다른 Xcode 프로젝트를 사용하여 macOS 애플리케이션을 실행하려면 다음 단계를 따르십시오.
2. 프레임 캡처를 수행할 수 있도록 Xcode 프로젝트 체계를 편집합니다.
또는 Xcode GUI를 사용합니다. 이렇게 하려면 Xcode 문서의 프레임 캡처 활성화 가이드에 따라 프로젝트 체계의 GPU Frame Capture 설정을 Metal로 설정하십시오.
XcScheme API를 사용하여 자동화된 빌드에 유용한 Xcode 프로젝트 체계를 설정할 수도 있습니다. 자세한 내용은 XcScheme API 문서를 참조하십시오.
3. Xcode에서 프로젝트를 실행하고 프레임 캡처를 수행합니다.
Xcode에서 Frame Capture 버튼(카메라 아이콘)을 눌러 데이터의 다음 프레임을 캡처하십시오.
또는 FrameCapture API를 사용하여 스크립트에서 프레임 캡처를 수행할 수도 있습니다. Xcode에서 프레임 캡처 데이터를 분석하는 방법은 Xcode 프레임 디버거 문서를 참조하십시오.
이 섹션에서는 커맨드 라인에서 애플리케이션을 실행하고, FrameCapture API를 사용하여 프레임 캡처를 수행하고, 결과를 디스크에 저장하는 방법을 설명합니다. 중요: 이 워크플로는 iOS에서 지원되지 않습니다. iOS에서 프레임 캡처를 수행하려면 항상 Xcode에서 애플리케이션을 실행해야 합니다.
-enable-metal-capture
플래그를 사용하여 커맨드 라인에서 애플리케이션을 실행합니다. Xcode는 코드가 요청할 때 프레임 캡처를 수행하고 해당 결과를 디스크에 저장합니다.Xcode에서 이러한 데이터를 분석하는 방법은 Apple의 Xcode 프레임 디버거 문서를 참조하십시오.
macOS에서 Xcode 프레임 디버거를 사용하면 Unity 에디터에서 프레임을 분석할 수 있습니다. Xcode를 사용하여 Unity 에디터를 실행하면 Unity 에디터 UI에서 프레임 캡처를 요청할 수 있습니다.
이 섹션에서는 Xcode에서 Unity 에디터를 실행하고, Unity 에디터 UI, Xcode UI 또는 FrameCapture API를 사용하여 프레임 캡처를 수행하는 방법을 설명합니다. 프레임 캡처는 즉시 분석하거나, 해당 결과를 디스크에 저장할 수 있습니다. 이 워크플로는 macOS에서 지원됩니다.
FrameCapture
API를 사용합니다. 자세한 내용은 FrameCapture API 문서를 참조하십시오.Xcode에서 프레임 캡처 데이터를 분석하는 방법은 Apple의 Xcode 프레임 디버거 문서를 참조하십시오.
이 워크플로는 커맨드 라인에서 Unity 에디터를 실행하고, FrameCapture API를 사용하여 프레임 캡처를 수행하고, 프레임 캡처를 디스크에 저장하는 방법을 설명합니다. 이 워크플로는 macOS에서 지원됩니다.
-enable-metal-capture
플래그를 사용하여 커맨드 라인에서 Unity 에디터를 실행합니다. Xcode는 코드가 요청할 때 프레임 캡처를 수행하고 해당 결과를 디스크에 저장합니다.Xcode에서 이러한 데이터를 분석하는 방법은 Xcode 프레임 디버거 문서를 참조하십시오.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.