Vulkan은 기기 그래픽 하드웨어 와 게임 간의 추상화를 최소화하도록 설계된 최신 크로스 플랫폼 3D 그래픽 API입니다. Vulkan은 Android의 기본 저수준 그래픽 API로, OpenGL ES를 대체합니다. OpenGL ES는 Android에서 계속 지원되지만 더 이상 기능이 개발되지 않습니다. Vulkan은 OpenGL ES에 비해 다음과 같은 이점을 제공합니다.
- 그래픽 드라이버의 CPU 오버헤드가 낮은 보다 효율적인 아키텍처
- CPU 성능 개선을 위한 새로운 최적화 전략
- OpenGL ES에서 사용할 수 없는 새로운 그래픽 기능(예: 바인딩 없는 API, 레이 트레이싱)
Vulkan은 Android에서 Android 7(API 수준 24)부터 사용할 수 있습니다. Android 10(API 수준 29) 이상의 모든 64비트 Android 기기에서 Vulkan 1.1을 지원합니다. 활성 Android 기기의 85%는 Vulkan을 지원합니다. Android 기준 프로필은 Vulkan 지원 기기를 위한 최소 기능 집합을 정의합니다.
Vulkan을 사용하면 더 보기 좋고 성능이 뛰어난 게임을 만들 수 있습니다. 또한 최신 그래픽 하드웨어의 잠재력을 최대한 활용할 수 있습니다. Vulkan은 호환 기기의 Android UI 렌더링 프레임워크에서 사용됩니다. 최신 버전의 Unity 및 Unreal 게임 엔진에서는 호환되는 Android 기기에서 기본 렌더기로 Vulkan을 선택합니다. ANGLE 프로젝트는 Vulkan을 기반으로 OpenGL ES API를 준수하는 구현을 구현합니다.
시작하기
C/C++
Android의 C/C++ 게임 엔진에서 Vulkan을 사용하는 방법을 알아보려면 Android에서 Vulkan 시작하기를 참고하세요.
또한 네이티브 개발 키트 (NDK) 문서에는 게임 개발자가 아닌 사용자를 위한 일반 Vulkan 섹션이 있으며 다음 주제를 다룹니다.
- 셰이더 컴파일러 성능 향상을 위한
- Vulkan 코드 디버깅을 위한 유효성 검사 계층
- 맞춤 기능을 위한 Vulkan 확장 프로그램
- 기기 요구사항을 위한 Android 기준 프로필
게임 엔진
ANGLE 정보
Vulkan은 GPU에 선호되는 Android 인터페이스입니다. Android 15 이상 에는 Vulkan을 기반으로 OpenGL ES를 실행하기 위한 선택적 레이어로 ANGLE이 포함되어 있습니다. ANGLE로 이동하면 호환성 개선을 위해 Android OpenGL 구현이 표준화되고 경우에 따라 성능이 개선됩니다.
다음 두 adb 명령어를 사용하여 패키지에 ANGLE을 사용 설정하여 다양한 Android 15 이상 기기에서 ANGLE을 사용하여 OpenGL ES 앱 안정성과 성능을 테스트합니다. 'package-name'을 테스트할 패키지로 바꿉니다.
adb shell settings put global angle_gl_driver_selection_pkgs package-name
adb shell settings put global angle_gl_driver_selection_values angle
이러한 설정은 기기를 재부팅해도 유지됩니다. ANGLE을 사용 중지하려면 다음 명령어를 사용하세요.
adb shell settings delete global angle_gl_driver_selection_pkgs
adb shell settings delete global angle_gl_driver_selection_values
애플리케이션 매니페스트를 통해 ANGLE 사용 선택
Android 17 이상에서는 개발자가 애플리케이션의 매니페스트에 메타데이터 플래그를 추가하여 ANGLE을 GLES 드라이버로 요청할 수 있습니다. ANGLE이 사용된다는 보장은 아니지만 ANGLE을 GLES 드라이버로 '선호'하도록 신호를 보냅니다. ANGLE을 사용할 수 없는 경우 GPU 공급업체의 gles 드라이버가 대신 사용됩니다.
<application android:appCategory="game">
<meta-data android:name="com.android.graphics.driver.prefer_angle" android:value="true" />
</application>
Vulkan의 Android ANGLE 로드맵

ANGLE 문제 신고
ANGLE에 문제가 발생하면 Issue Tracker에 제출하여 Google에 신고해 주세요.