> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 성능과 전력 효율의 균형 맞추기

> 하드웨어를 자동으로 감지하고, 기본값을 조정하고, 전원 변경에 대응하여 ROG XBOX Ally와 같은 Windows 핸드헬드에서 성능과 배터리 수명의 균형을 맞춥니다.

![ASUS ROG XBOX Ally X](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/handheld/rog-xbox-ally-x.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=ee22349c5b67c9ab3bd01120f186f74c)

XBOX는 플랫폼으로서 플레이어를 콘솔에서 모든 화면으로 이끌기 위해 진화하고 있습니다. PC의 XBOX, 스마트 TV, 스트리밍 디바이스, 모바일 디바이스, 웹 브라우저가 이에 해당합니다. 이러한 확장에는 배터리로 구동되는 수백만 대의 게임 디바이스가 포함됩니다. 이러한 전반적인 노력은 [https://aka.ms/sustainablegamedev](https://aka.ms/sustainablegamedev) 에서 자세히 설명합니다.

다음은 게임 개발자가 최신 게임 범주인 Windows 핸드헬드에서 게임이 잘 실행되도록 하는 데 도움이 되는 몇 가지 유용한 문서와 허브 페이지입니다.

* 핸드헬드 호환성([https://aka.ms/hhcompatguide](https://aka.ms/hhcompatguide)). 휴대용, 터치 지원 및 게임패드 우선 디바이스에서 뛰어난 게임 환경을 빌드하기 위한 가이드, 도구 및 샘플입니다.
* 핸드헬드 성능([https://aka.ms/hhperfguide](https://aka.ms/hhperfguide)). 이 시리즈는 개발자가 모바일 디바이스에서 게임을 더 오래, 더 빠르게 실행하기 위해 수행할 수 있는 간단한 단계에 중점을 둡니다.

이 문서와 이러한 리소스 및 기타 자료는 [https://aka.ms/xboxhhdev](https://aka.ms/xboxhhdev) 에서 안내하고 있습니다.

## 게임 내 설정 최적화

### 게임 내 설정이 중요한 이유는 무엇인가요?

시리즈 소개([https://aka.ms/hhperfintro)에서](https://aka.ms/hhperfintro\)에서) 언급했듯이, 게임 내 설정은 개발자가 배터리로 구동되는 디바이스에서 게임을 보다 효율적으로 실행하는 방법을 제어할 수 있는 몇 가지 방법 중 첫 번째입니다. 플레이어가 스토어에서 PC의 XBOX 게임을 볼 때, 디바이스가 가장 일반적인(일반적으로 기본) 게임 설정을 사용하여 30FPS 이상으로 해당 게임을 플레이할 수 있는 경우 PDP(제품 세부 정보 페이지)에 Performance Fit 기능의 권장 사항이 표시됩니다.

![PC의 XBOX Performance Fit 환경](https://mintcdn.com/microsoft-4404708b/MVw3uKm0dcJ_XQoZ/images/handheld/xbox-on-pc-performance-fit-experience.webp?fit=max\&auto=format\&n=MVw3uKm0dcJ_XQoZ\&q=85\&s=b6316d0ff68ee54b406d4cbc81c6c9bf)

*그림 1 - PC의 XBOX 스토어 제품 세부 정보 페이지(PDP) 예. 강조 표시된 사각형(노란색)은 Performance Fit 권장 사항이 표시되는 위치를 보여 줍니다.*

목표는 개발자가 쉽게 정의할 수 있는 기본 게임 설정을 Windows 게임 핸드헬드에서 사용하도록 하여 뛰어난 첫 플레이어 경험을 제공하는 것입니다.

* **예, PC입니다!** Windows 게임 노트북과 마찬가지로 핸드헬드 게임 디바이스는 휴대용 PC입니다. 터치 스크린이 있으며 다양한 전원 상태로 배터리에서 실행되어 성능과 작동 시간의 균형을 맞출 수 있습니다.
* **아니요, 단순한 PC가 아닙니다!** Windows 게임 노트북과 달리 핸드헬드 게임 PC는 배터리 전원으로 몇 시간 동안 게임을 플레이할 수 있어야 하며, 이를 가능하게 하는 스마트한 게임 설정이 필요합니다. 핸드헬드 PC에는 키보드나 마우스가 없을 수 있습니다. PC의 XBOX 환경부터 게임 런처와의 상호 작용, 플레이 중 나타날 수 있는 모든 프롬프트에 이르기까지 사용자 인터페이스의 모든 계층에서 컨트롤러 지원이 필요합니다. 또한 게임은 플레이어의 편의성과 접근성을 위해 기본 터치 지원을 제공하면 큰 이점을 얻을 수 있습니다.

### 게임 내 설정에 대한 주요 권장 사항은 무엇인가요?

다음은 이 문서의 중요한 핵심 사항과 섹션을 요약한 것입니다.

1. **Windows 게임 핸드헬드에서 잘 실행되도록 게임을 확장하세요.** 이는 개발자가 배터리로 구동되는 디바이스를 위해 특별히 설정을 테스트하고 만드는 것을 의미합니다. 이러한 설정은 배터리 수명이 연장되도록 게임 사양을 낮추되, 게임 플레이나 전체 아트 스타일을 희생해서는 안 됩니다. 시장의 대표적인 디바이스(예: 고효율 ROG XBOX Ally 핸드헬드)에서 이러한 설정을 테스트해야 합니다.
2. **하드웨어 자동 감지 및 게임 내 설정 적용을 구현하세요.** 일부 게임에는 이미 이 기능이 있습니다. 개발자는 스마트한 기본값을 만들기 위해 하드웨어 기능에 매핑되는 게임 내 옵션이 무엇인지 고려해야 합니다.
3. **ROG XBOX Ally 및 ROG XBOX Ally X를 첫 번째 가이드로 삼으세요.** 이러한 디바이스는 XBOX + ASUS가 구현한, 이 시리즈에서 언급하는 설정 최적화 기능을 갖춘 최초의 Windows 게임 핸드헬드입니다.

### 지침 | 하드웨어 자동 감지 및 게임 내 설정 적용 구현

네이티브 C++ 샘플([https://aka.ms/hhexpsample](https://aka.ms/hhexpsample "https://aka.ms/hhexpsample"))과 Unity 관리형 C# 샘플([https://aka.ms/hhexpsample\_unity](https://aka.ms/hhexpsample_unity))을 제공합니다. 이 샘플을 사용하면 개발자가 감지 코드를 자신의 게임에 쉽게 복사하여 붙여 넣을 수 있습니다. 이러한 코드 조각은 디바이스 내 하드웨어 구성 요소의 기능에 대한 정보를 얻는 데 사용할 수 있습니다. 그런 다음 개발자는 이러한 기능을 사용하여 다양한 디바이스에 걸쳐 확장되는 합리적인 게임 기본값을 만들 수 있습니다.

ROG XBOX Ally 및 ROG XBOX Ally X를 예로 들어, 다음은 코드 조각에서 반환된 값과 C++ 샘플 소스 코드에서 해당 값을 찾을 수 있는 위치에 대한 링크입니다. 별표(\*)로 표시되고 표 뒤에 자세히 설명된 항목을 참조하세요.

| **구성 요소** | **ROG XBOX Ally (2025)**\* | **ROG XBOX Ally X (2025)** | **참고** |
| - | - | - | - |
| IsHandheld ([IsDeviceHandheld.cpp](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Handheld/Snippets/IsDeviceHandheld.cpp)) | TRUE | TRUE | OEM(Original Equipment Manufacturer)은 디바이스가 Windows 게임 핸드헬드로 식별되기를 원하는 경우 이 플래그를 추가합니다. |
| BaseBoard 제품 이름\* ([GetDeviceOEMInfo.cpp](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Handheld/Snippets/GetDeviceOEMInfo.cpp)) | RC73YA | RC73XA | OEM은 이 SMBIOS 필드를 프로그래밍하며, 호환 Windows 게임 핸드헬드로 설계된 SKU를 구분하는 데 사용할 수 있습니다. |
| CPU ([Processor.cpp](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Handheld/Snippets/Processor.cpp)) | AMD Ryzen Z2 A | AMD Ryzen AI Z2 Extreme | GPU와 함께 하드웨어 등급을 나타낼 가능성이 가장 높은 첫 번째 식별자를 제공합니다. |
| GPU ([GetGPUInfo.cpp](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Handheld/Snippets/GetGPUInfo.cpp)) | Vendor ID: 1002 Product ID: 150E | Vendor ID: 1002 Product ID: 163F | GPU VID/PID는 하드웨어 성능 계층을 가장 폭넓게 나타냅니다. |
| 메모리 구성\*\*\* ([GetMemoryInfo.cpp](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Handheld/Snippets/GetMemoryInfo.cpp)) | 총 메모리: 16GB 전용 VRAM: 6GB(총 16GB에서 공유)  | 총 메모리: 24GB 전용 VRAM: 8GB(총 24GB에서 공유)  | 텍스처 및 캐시된 맵의 크기와 같은 결정을 내리는 데 유용합니다. |
| 화면 해상도 ([GetDeviceResolutionAndRefresh.cpp ](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Handheld/Snippets/GetDeviceResolutionAndRefresh.cpp)) | 1920x1080\*\* | 1920x1080 | 디바이스의 기본 해상도에 맞추면 시각적 품질이 향상될 수도 있지만, 다른 설정 최적화 없이는 성능이 저하될 수도 있습니다. |

> * "\*" = VRAM 할당은 **사용자가 선택할 수 있습니다**. 이 값은 기본값이며 보장되지 않고, 기준 프로파일링 계산에 사용할 예일 뿐입니다.
> * "\*\*" = 이 디바이스의 권장 기본 해상도는 720p입니다. 개발자는 설정을 테스트하여 게임에서 잘 실행되는 설정을 확인하고 그에 따라 설정해야 합니다. 또한 일부 게임별 설정은 테스트 결과 높은 해상도에서 30FPS 미만으로 실행되는 것으로 확인된 게임의 효율성을 높이기 위해 게임에 알려지는 화면 해상도를 재정의할 수 있지만, 플레이어가 이를 재정의할 수 있습니다.
> * "\*\*\*" = DirectX 게임의 경우 기존 권장 사항은 [QueryVideoMemoryInfo](https://learn.microsoft.com/windows/win32/api/dxgi1_4/nf-dxgi1_4-idxgiadapter3-queryvideomemoryinfo)를 사용하여 비디오 메모리에 대한 게임 예산을 동적으로 결정하는 것입니다. 예제 [GetMemoryInfo.cpp](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Handheld/Snippets/GetMemoryInfo.cpp)에서 사용되는 [(GlobalMemoryStatusEx)](https://learn.microsoft.com/windows/win32/api/sysinfoapi/nf-sysinfoapi-globalmemorystatusex) 메서드는 게임이 메모리를 사용하는 방식의 다른 측면을 아는 것이 유용한 경우를 위한 추가 솔루션입니다.

**UI/배율 인수에 대한 중요 참고 사항.** 화면 해상도 차이에 맞게 조정하면 특히 작은 화면에서 게임 내 UI의 가독성과 관련하여 바람직하지 않은 결과가 발생할 수 있습니다. 게임 디자이너에게 도움이 될 수 있는 화면 크기 및 중단점에 대한 일반적인 앱 지침은 [/windows/apps/design/layout/screen-sizes-and-breakpoints-for-responsive-design](https://learn.microsoft.com/windows/apps/design/layout/screen-sizes-and-breakpoints-for-responsive-design)에서 확인할 수 있습니다.

### 지침 | 정적 게임 내 설정 만들기

정적 게임 내 설정은 마지막으로 상태를 확인했을 때의 단일 전원 상태에서의 하드웨어 구성만 고려합니다. 정적 게임 내 설정을 만드는 작업은 프레임 속도와 같은 객관적인 메트릭을 목표로 설정하는 것부터 시작됩니다.

> **플레이어 기대치**
>
> 게임은 원활하게 플레이하는 데 필요한 사항을 파악하고, 기본적으로 최소 1080p30 성능(예: ROG XBOX Ally X) 또는 720p30 성능(ROG XBOX Ally)을 제공하는 최적의 설정으로 설치됩니다.
>
> **테스트 단계**
>
> 1. **배터리로 테스트합니다.** 기본 설정을 사용하여 ***전원이 분리되고 배터리가 완전히 충전된*** 핸드헬드 장치에 게임을 설치한 다음 실행합니다.
> 2. **시작 시점과 자산 로드/IO 안정화 이후 모두 FPS 측정기로 성능을 모니터링합니다.** Windows + G를 눌러 Windows Game Bar FPS(초당 프레임 수) 측정기에 액세스하거나, PresentMon을 실행하여(자세한 내용은 [GitHub 프로젝트](https://github.com/GameTechDev/PresentMon) 참조) 실시간으로 FPS를 기록하고 추적합니다.
> 3. **평균 FPS보다 최소 FPS 설정에 집중합니다.** FPS가 최소 1080p30(예: ROG XBOX Ally X 또는 동급 하드웨어) 또는 720p30(예: ROG XBOX Ally 또는 동급 하드웨어)에서 일관되게 실행될 때까지 설정을 조정합니다.
> 4. **고성능 및 고효율 하드웨어 구성 모두에 대한 게임 내 설정 라이브러리를 만듭니다.** 다양한 하드웨어 SKU(예: ROG XBOX Ally와 ROG XBOX Ally X)에 대한 이상적인 설정을 확인하기 위해 향후 다른 디바이스에서 테스트할 수 있도록 이러한 설정을 저장합니다.
>
> **예상 결과**
> 고성능 Windows 게임 핸드헬드 등급(예: ROG XBOX Ally X)과 고효율 등급(예: ROG XBOX Ally) 모두에서 안정적인 프레임 속도를 유지하는 데 동일하게 효과적인 게임 내 설정을 최소 \[2]개 만들거나 캡처합니다.

### 지침 | 동적 게임 내 설정 만들기

동적 게임 내 설정은 정적 게임 내 설정보다 더 세분화되어 있습니다. 최소 두 가지 전원 상태(전원 연결 또는 배터리 사용)에 매핑되며, 이상적으로는 게임이 실행되는 동안 전원 모드 변경 이벤트에 대응할 수 있습니다.

> **플레이어 기대치**
>
> 특히 Windows 게임 핸드헬드의 경우, 전원 연결 상태와 배터리 전원 상태를
> 오가는 동안 게임이 성능과 배터리 수명의 균형을 최대한 잘 맞출 것으로 기대합니다. 게임은 원활하게 플레이하는 데 필요한 사항을 파악하고, 기본적으로 최소 1080p30 성능(예: ROG XBOX Ally X) 또는 720p30 성능(ROG XBOX Ally)을 제공하는 최적의 설정으로 설치됩니다.
>
> **테스트 단계**
>
> 1. **배터리로 테스트합니다.** 기본 설정을 사용하여 *전원이 분리되고 배터리가 완전히 충전된* 핸드헬드 장치에 게임을 설치한 다음 실행합니다.
> 2. **시작 시점과 자산 로드/IO 안정화 이후 모두 FPS 측정기로 성능을 모니터링합니다.** Windows + G를 눌러 Windows Game Bar FPS(초당 프레임 수) 측정기에 액세스하거나 PresentMon을 실행하여 실시간으로 FPS를 기록하고 추적합니다.
> 3. **평균 FPS보다 최소 FPS 설정에 집중합니다.** FPS가 최소 1080p30(예: ROG XBOX Ally X 또는 동급 하드웨어) 또는 720p30(예: ROG XBOX Ally 또는 동급 하드웨어)에서 일관되게 실행될 때까지 설정을 조정합니다.
> 4. **고성능 및 고효율 하드웨어 구성 모두에 대한 게임 내 설정 라이브러리를 만듭니다.** 다양한 하드웨어 SKU(예: ROG XBOX Ally와 ROG XBOX Ally X)에 대한 이상적인 설정을 확인하기 위해 향후 다른 디바이스에서 테스트할 수 있도록 이러한 설정을 저장합니다.
> 5. **감지 방법을 구현합니다.** 이 문서의 동적 사전 설정 감지 섹션을 참조하세요.
>
> **예상 결과**
> 게임 시작 시 또는 전원 모드가 변경되었다는 알림을 받을 때
> 적용될 게임 내 설정을 최대 \[4]개 만들거나
> 캡처합니다.
> 이러한 게임 내 설정은 Windows 게임 핸드헬드의 고성능 및 고효율
> 등급뿐만 아니라, 각 디바이스가 배터리 상태를 자주 전환할 때의 전원 연결 및
> 배터리 사용 상태에도 매핑됩니다.

### 지침 | 하드웨어 전원 상태 감지

* **동적(권장):** 타이틀이 알려진 [전원 설정 GUID](https://learn.microsoft.com/windows/win32/power/power-setting-guids) 중 하나와 함께 **RegisterPowerSettingNotificiation** API를 사용하여 전원 구성표/프로필 변경을 수신하도록 등록하면, WPARAM 값이 **PBT\_POWERSETTINGCHANGE**로 설정되고 LPARAM 값에 추가 세부 정보가 포함된 **WM\_POWERBROADCAST** 메시지도 추가로 전송됩니다. 예를 들어 **GUID\_POWERSCHEME\_PERSONALITY**에 등록하면 시스템이 균형 조정에서 고성능 등으로 변경될 때 알림을 받습니다. **GUID\_ACTIVE\_POWERSCHEME**을 사용하면 전원 프로필 변경이 발생할 때 알림을 받습니다. **GUID\_ENERGY\_SAVER\_STATUS**를 사용하면 디바이스가 배터리/에너지 절약 모드로 전환될 때 알림을 받습니다.
* **정적:** 샘플에 표시된 것처럼 디바이스를 수동으로 쿼리하여 디바이스가 전원에 연결되어 있는지 아니면 배터리로 실행 중인지 쉽게 확인할 수 있습니다.

### 지원 | 핸드헬드 게임 PC용 게임 설정 최적화에 대해 질문이나 우려 사항이 있으면 어디로 문의해야 하나요?

다음 리소스 요약 외에도 ID\@XBOX와 같은 XBOX 개발자 프로그램에 참여 중인 개발자는 포럼([https://forums.xboxlive.com](https://forums.xboxlive.com) – 활성 [NDA 계정 로그인 필요](https://developer.microsoft.com/games/articles/2023/11/publishing-pathways-id-at-xbox/))에서 문의할 수 있습니다. 모든 개발자는 Microsoft Game Dev Discord 서버([https://discord.gg/msftgamedev](https://discord.gg/msftgamedev))에서도 문의할 수 있습니다.

* **Microsoft Game Dev 핸드헬드 개발 허브:** [https://developer.microsoft.com/games/resources/handheld-development/](https://developer.microsoft.com/games/resources/handheld-development/)
* **Microsoft Windows 게임 핸드헬드 코드 샘플:**[https://developer.microsoft.com/games/articles/2025/07/windows-gaming-handheld-code-samples/](https://developer.microsoft.com/games/articles/2025/07/windows-gaming-handheld-code-samples/)
* **Microsoft Game Dev Discord:** [https://discord.gg/msftgamedev](https://discord.gg/msftgamedev)
* **Microsoft NDA 개발자 포럼:** [https://forums.xboxlive.com](https://forums.xboxlive.com)("handheld" 태그를 사용하여 요청을 주제 전문가에게 전달)

***


## Related topics

- [하이브리드 CPU 환경에서의 게임 성능](https://docs.xbox.com/ko/build/gdk-and-engines/guides/hybrid-cpu-performance.md)
- [PC 핸드헬드 개요](https://docs.xbox.com/ko/build/gdk-and-engines/handheld/overview.md)
- [XBOX 게임 에너지 효율 필수 요소](https://docs.xbox.com/ko/build/game-principles/sustainability/energy-efficiency-essentials.md)
- [지속 가능성 개요](https://docs.xbox.com/ko/build/game-principles/sustainability/sustainability-overview.md)
- [DirectStorage 개요](https://docs.xbox.com/ko/build/console-features/storage/directstorage/directstorage-overview.md)
