게임 모드 개입은 OEM (Original Equipment Manufacturer)에서 설정한 게임별 최적화 더 이상 업데이트되지 않는 게임의 성능을 개선하기 위해 있습니다. 예를 들면 다음과 같습니다.
- WindowManager 백버퍼 크기 조절 사용
- 네이티브 GLES 드라이버 대신 ANGLE 사용
게임 지원을 받고 Game Mode API) OEM에서 제공하는 게임 모드 개입
Game Mode API 및 개입은 다음에서 사용할 수 있습니다.
- 일부 Android 12 기기
- Android 13 이상을 실행하는 기기
각 게임은 다음과 같은 작업을 할 수 있습니다.
- Game Mode API 동작 구현
- OEM에 게임 모드 개입 설정 제안
- 게임 모드 개입을 명시적으로 선택 해제합니다.
배경
이 섹션에서는 게임 모드 개입의 역할과 최적화 방법을 설명합니다. 게임에 더욱 집중할 수 있습니다.
WindowManager 백버퍼 크기 조정
WindowManager 백버퍼 크기 조정 개입은 기기의 GPU 로드를 줄일 수 있습니다. 또한 목표 프레임 속도에서 게임을 실행할 때 배터리 소모를 줄일 수도 있습니다.
크기 조절을 사용 설정하면 GPU의 최대 30%, 전체 CPU의 10% 까지 줄일 수 있습니다. 시스템 전원 사용량 결과는 사용된 기기, 환경 조건, 동시 처리와 같은 기타 요소에 따라 달라질 수 있습니다.
GPU에 바인딩되어 속도 조절이 되지 않는 게임은 GPU 로드가 감소하면서 프레임 속도가 높아질 수 있습니다.
모든 게임은 적정 속도 - 균일하지 않은 프레임 속도가 현저히 사용자가 성능을 인식하는 방식에 영향을 미칩니다.
FPS 제한
Android FPS 제한은 Android 100, iOS 140에서 배터리 소모를 줄일 수 있습니다. 개입은 Android 13 이상에서 사용할 수 있습니다. 자세한 내용은 자세한 내용은 FPS 제한 개요를 참고하세요.
게임 모드 개입 평가
이 섹션에서는 adb 명령어를 사용합니다.
모드 설정
앱의 앱 메뉴에서 게임 모드를 선택 해제해야 합니다. 게임 모드 구성 파일 한 번 더 테스트하세요. 그러지 않으면 플랫폼에서 게임 내 최적화만 존중해야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsBatteryGameMode="false"
android:supportsPerformanceGameMode="false"
/>
(선택사항) 기존 기기 설정 백업
Pixel 또는 기타 기기의 경우 기존에 게임 개입이 있을 수 있음 기기 설정에서 구성을 확인할 수 있습니다 다음 명령어를 사용하여 구성을 쿼리할 수 있습니다.
adb shell device_config get game_overlay <PACKAGE_NAME>
쿼리에서 null
가 반환되면 기존 구성을 무시합니다. 그렇지 않으면 저장하세요.
평가 후 다시 설정합니다
개입 평가
WindowManager 백버퍼 크기 조정 개입을 자체적으로 평가하려면 다음을 사용합니다. 다음 명령어를 사용하여 서로 다른 WindowManager 버퍼 크기 조정 값을 설정할 수 있습니다. 있습니다.
adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5
위의 예에서 mode=2
는 'Performance'이고 mode=3
입니다.
'절전 모드'입니다. downscaleFactor
값은
이 크기 조절 설정에 적용됩니다 (예: 0.7은 70%, 0.8은 80%). A 90%
(0.9) 크기 조절은 거의 무시할 수 있는 반면 50% (0.5)는 유의미합니다.
경고: Android 12에서는 하위 프로세스의 크기가 올바르게 조절되지 않을 수 있습니다. 포함 특히 토스트 메시지 및 팝업이 제대로 렌더링되는지 확인해야 합니다. 크기 조절 설정을 70% 이상으로 제한하는 것이 좋습니다.
새로운 크기 조절 옵션이 설정되면 게임 모드 간에 전환하여 WindowManager 백버퍼 크기 조정 개입의 영향을 받는 경우
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
게임 모드를 선택할 때마다 게임을 다시 시작해야 합니다. 이 축소 개입을 위해서는 앱을 다시 시작해야 함
개입 거부
게임에 개입을 적용할지 여부를 제어할 수 있습니다. 선택하세요. 각 개입에는 자체 거부 설정이 있습니다.
- '게임' 선택 및 선택 해제를 제어하는 데 사용된 것과 동일한 구성 XML 파일 모드는 개입 설정에도 사용됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:allowGameDownscaling="false"
android:allowGameFpsOverride="false"
/>
- 게임을 다시 빌드한 다음 다시 제출하여 거부합니다.
기본적으로 OEM이 설정한 개입 방식은 게임에서 사용하지 않도록 명시적으로 거부하지 않는 한 사용됩니다.
리소스
게임 성능 측정 및 최적화에 관한 자세한 정보는 다음을 참조하세요.
시스템 프로파일러 - CPU 사용량 및 그래픽 호출을 분석합니다.
Android GPU 검사기 - Android에 그래픽을 프로파일링합니다.
Android Frame Pacing Library - OpenGL 및 Vulkan 게임에서 원활한 렌더링 및 적절한 프레임 속도를 달성할 수 있습니다.
Android Performance Tuner - Android 기기 전체에서 대규모로 프레임 속도와 그래픽을 측정하고 최적화합니다.
에너지 프로파일러 - 앱에서 필요한 것보다 더 많은 에너지를 사용하는 위치를 찾습니다.