Unity 매뉴얼: 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대한 설명과 다양한 활용해의 예제를 제공합니다. 프로파일러 기능을 통해 애플리케이션의 성능을 최적화하는 방법을 다루고 있습니다.

프로파일러 개요

Unity의 프로파일러는 애플리케이션의 성능을 분석하는 도구입니다. 이 프로파일러를 사용하여 시간 소비에 대한 인사이트를 얻을 수 있습니다. 다음은 일반적으로 사용되는 프로파일러 마커에 대한 설명입니다.

마커 종류 설명
메인 스레드 기본 마커 애플리케이션과 에디터 간의 시간을 명확히 구분합니다.
스크립트 업데이트 마커 스크립트가 업데이트되는 시간을 기록합니다.
렌더링 및 VSync 마커 CPU가 GPU와 상호작용하는 시간 기록합니다.
백 엔드 및 스크립팅 마커 Mono 및 IL2CPP 스크립팅 백엔드 활동을 강조합니다.
멀티스레드 마커 CPU 주기를 소비하는 스레드 동기화를 기록합니다.
물리 마커 물리 엔진의 성능 분석을 돕습니다.
성능 경고 상기한 성능 관련 문제를 경고합니다.

메인 스레드 기본 마커

메인 스레드 기본 마커는 애플리케이션에서 사용된 시간을 기록하는 데 사용됩니다. 이 마커를 활용하여 다음과 같은 작업을 수행할 수 있습니다:

  • 애플리케이션 루프 분석: PlayerLoop 마커를 통해 모든 샘플을 확인하고, 에디터 루프에 대한 효율성을 평가할 수 있습니다.
  • 성능 향상: 에디터 전용 마커를 사용하여 에디터의 작업 영향을 분석하고 성능을 향상시킬 수 있습니다.

스크립트 업데이트 마커

스크립트 업데이트 마커는 Unity의 업데이트 루프에서 실행되는 스크립트와 관련된 모든 샘플을 포함하고 있습니다. 이를 통해:

  • 업데이트 구조 최적화: BehaviourUpdateLateUpdate 마커를 사용하여 스크립트 업데이트의 성능을 조정합니다.
  • 코루틴 관리: Coroutines 마커를 통해 코루틴의 지연 호출을 관리할 수 있습니다.

렌더링 및 VSync 마커

이 마커는 CPU와 GPU 간의 데이터 전송 시간을 기록합니다:

  • 성능 모니터링: WaitForTargetFPS 마커를 사용하여 CPU가 GPU를 기다리는 동안 소모한 시간 확인합니다.
  • 병목 현상 분석: 다양한 Gfx 마커를 통해 메인 스레드에서 발생한 대기 시간을 분석하고 병목 현상을 파악합니다.

백엔드 및 스크립팅 마커

백엔드 및 스크립팅 마커는 스크립팅 활동을 강조하여 가비지 수집과 관련된 문제를 진단하는 데 유용합니다. 이 마커를 활용하여:

  • 가비지 수집 최적화: GC.AllocGC.Collect 마커를 확인하여 가비지 수집이 성능에 미치는 영향을 분석합니다.
  • 메모리 관리: 사용되지 않는 메모리를 줄이고 가비지 수집의 횟수를 최소화 합니다.

멀티스레드 마커

멀티스레드 마커는 CPU 주기를 소비하지 않고 스레드 처리에 관련된 활동을 기록합니다. 이를 사용하여:

  • 스레드 동기화 성능 향상: JobHandle.Complete 마커를 통해 수행 중인 작업의 동기화 시점을 기록합니다.
  • 그래픽 처리 분석: CPU 프로파일러를 활용하여 여러 스레드에서 발생하는 상황을 모니터링합니다.

물리 마커

물리 마커는 Physics 엔진의 성능을 최적화하는 데 도움을 줄 수 있습니다. 이를 통해:

  • 물리 시뮬레이션 성능 분석: Physics.FetchResults 마커로 물리 시뮬레이션 결과를 수집하여 성능을 분석합니다.
  • 물리 엔진 최적화: 각종 물리 작업을 사용하는 특정 샘플을 통해 최적화 기회를 찾습니다.

성능 경고

CPU 프로파일러는 특정 성능 문제를 자동으로 감지하고 경고합니다. 여기에는 다음과 같은 사항들이 포함됩니다:

경고 설명
Animation.DestroyAnimationClip 리소스 소비가 많은 메서드이므로 런타임 중 지양해야 합니다.
AssetBundle.asset/allAssets 메인 스레드가 대기하게 되는 문제가 발생할 수 있습니다.
Rigidbody.SetKinematic 자원 소모를 초래하는 비효율적인 작업입니다.

프로파일러를 활용하면 Unity 프로젝트의 성능을 최적화하고 다양한 문제를 해결할 수 있습니다. 성능 경고와 분석 기능을 적절히 사용하여 더 나은 애플리케이션을 개발해보세요.

결론

Unity의 프로파일러는 성능을 분석하고 최적화하는 데 필수적인 도구입니다. 각 마커와 관련된 기능을 이해하고 활용하면, 더욱 효율적인 개발이 가능합니다. 다양한 예제와 분석을 통해 애플리케이션의 성능을 극대화할 수 있습니다.

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA