Unreal Engine용 ADPF (Android 동적 성능 프레임워크) 플러그인은 안정적인 성능을 제공하고 열 제한을 방지합니다.
GitHub에서 플러그인을 다운로드할 수 있습니다.
ADPF Unreal Engine 플러그인 사용 방법
플러그인 다운로드
플러그인을 프로젝트 플러그인 폴더에 복사합니다.
Unreal 편집기에서 ADPF Unreal Engine 플러그인 사용 설정
Unreal 편집기 다시 실행하기
게임 제작 및 요리
![ADPF Unreal Engine 플러그인을 사용 설정합니다.](https://developer.android.com/static/images/games/engines/unreal/unreal-adpf.png?authuser=0000&hl=ko)
플러그인 콘솔 구성
플러그인에는 런타임 시 플러그인 옵션을 변경할 수 있게 해주는 다음과 같은 Unreal Engine 콘솔 변수가 있습니다.
Var |
유효한 값 |
기본값 |
설명 |
---|---|---|---|
r.AndroidPerformanceEnabled |
0, 1 |
1 |
Android Performance 플러그인을 사용 설정/사용 중지합니다. 플러그인은 Android 적응성 API를 사용하여 기기의 열 상태에 따라 게임 설정을 조정하고 필요에 따라 CPU를 조정합니다. 0: 꺼짐 (사용 중지됨) 1: 사용 (사용 설정됨) |
r.AndroidPerformanceHintEnabled |
0, 1 |
1 |
성능 힌트 관리자를 사용 설정/사용 중지합니다. 지원되는 Android 기기에서 최적의 스레드 부스팅을 위해 이 설정을 사용 설정합니다. 0: 꺼짐 (사용 중지됨) 1: 사용 (사용 설정됨) |
r.AndroidPerformanceChangeQualities |
0, 1, 2 |
1 |
열 상태가 게임의 충실도 수준을 조정하는 방식을 선택합니다. 0: 시스템이 설정을 조정하지 않음 1: 열 헤드룸에 따라 설정이 조정됩니다. 2: 온도 리스너에 따라 설정이 조정됩니다. |
ADPF Unreal Engine 플러그인 작동 방식
플러그인은 프레임마다 Monitor()
함수를 호출하고 이전 열 검사 이후 경과된 시간을 확인합니다. 1초 이상 지나면 플러그인은 현재 온도를 읽고 그래픽 품질 변경이 필요한지 판단하고 (예: 게임이 열로 제한되거나 열 제한 기준점에 근접한 경우) 그에 따라 설정을 조정합니다.
또한 플러그인은 타겟 및 실제 프레임 기간을 성능 힌트 세션 API에 보고하고 CPU 주파수를 높이거나 필요한 경우 CPU 스케줄링을 조정합니다.
![ADPF Unreal Engine 플러그인 플로우 차트](https://developer.android.com/static/images/games/engines/unreal/ureal-adpf-flowchart.png?authuser=0000&hl=ko)
열 상태에 따라 그래픽 품질을 변경하는 방법
이 플러그인은 Thermal API의 의견에 따라 Unreal Engine Scalability를 사용하여 그래픽 품질을 조정합니다. Unreal Engine 확장성에는 3 (최고 품질)부터 0 (최저 품질)까지 4가지 수준이 있습니다. 각 수준은 해상도 배율, 뷰 거리, 앤티앨리어싱, 후처리 및 기타 기능에 매핑됩니다.
![Unreal Engine 확장성입니다.](https://developer.android.com/static/images/games/engines/unreal/unreal-adpf-scalability.png?authuser=0000&hl=ko)
ADPF에서는 두 가지 방법, 즉 열 헤드룸과 열 상태를 사용하여 기기의 열 상태를 확인합니다. 열 헤드룸은 더 정확한 값을 제공합니다. 따라서 플러그인은 기본적으로 열 헤드룸을 사용하고 Thermal status API를 사용 중지합니다.
Unreal Engine 확장성은 다음 열 값에 따라 변경됩니다.
열 헤드룸
- < 0.75: 품질 수준 3
- 0.75~0.85: 품질 수준 2
- 0.85~0.95: 품질 수준 1
- > 0.95: 품질 수준 0
열 상태
- 없음: 품질 수준 3
- 밝게: 품질 수준 2
- 보통: 품질 수준 1
- 심각하고 중요: 품질 수준 0
자세한 내용은 Thermal API를 참고하세요.
성능 힌트 API
플러그인에는 두 가지 유형의 성능 힌트 세션이 있습니다. 하나는 게임 스레드용이고 다른 하나는 렌더링 스레드 (렌더링 및 RHI 스레드)용입니다. 이 두 가지 유형의 성능 힌트는 모든 프레임의 실제 기간과 타겟 기간을 보고하는 데 사용됩니다. 시스템은 CPU 주파수를 조정하고 실제 기간이 목표 기간과 다르면 더 나은 예약 옵션을 선택합니다.
자세한 내용은 Performance Hint API를 참고하세요.
권장사항
플러그인은 열 제한을 방지하고 기본 구현으로 지속적인 타겟 FPS를 제공합니다. 즉각적인 결과를 얻으려면 ADPF를 기본 Unreal Engine 확장성 수준으로 적용하세요.
그러나 게임마다 다르기 때문에 ADPF가 게임에 동적 성능을 완전히 제공할 수 있도록 해상도 배율, 뷰 거리, 앤티앨리어싱, 후처리, 그림자, 텍스처, 효과와 같은 각 매개변수의 확장성 수준을 미세 조정합니다.
다음은 ADPF Unreal 플러그인으로 최상의 결과를 얻기 위한 세 가지 주요 단계입니다.
- 기준 설정: ADPF를 사용하기 전에 게임 성능을 철저히 프로파일링합니다. 이 데이터는 플러그인을 구현한 후 비교를 위한 중요한 벤치마크 역할을 합니다.
그림 4. 기준을 설정합니다. - 비현실적인 확장성 활용: 어느 정도의 성능 향상만 제공하는 경우에도 비현실적인 확장성을 실험합니다. 이렇게 하면 큰 노력 없이도 성능 이점을 얻을 수 있습니다.
그림 5. 비현실적인 확장성을 이용하세요. - 인게임 그래픽 설정 우선순위 지정: 게임 내 그래픽 품질 수준을 최적화합니다. 이러한 설정은 게임의 콘텐츠에 맞게 맞춤화되므로 더 원활한 프레임 속도와 효과적인 열 관리를 보장합니다.
그림 6. 게임 내 그래픽 설정의 우선순위 지정