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를 준수하는 구현을 구현합니다.
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
Vulkan의 Android ANGLE 로드맵
ANGLE 문제 신고
ANGLE과 관련된 문제가 발생하면 Issue Tracker에 제출하여 Google에 신고하세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Use Vulkan for graphics\n\n[Vulkan](https://www.vulkan.org/) is a modern cross-platform 3D\ngraphics API designed to minimize abstraction between device graphics hardware\nand your game. Vulkan is the primary low-level graphics API on Android,\nreplacing [OpenGL ES](https://www.khronos.org/opengles/). OpenGL ES\nis still supported on Android, but is no longer under active feature\ndevelopment. Vulkan offers the following advantages over OpenGL ES:\n\n- A more efficient architecture with lower CPU overhead in the graphics driver\n- New optimization strategies to improve CPU performance\n- New graphics features not available in OpenGL ES such as bindless APIs and ray tracing\n\nVulkan is available on Android from\n[Android 7 (API level 24)](/about/versions/nougat).\nAll 64-bit Android devices from Android 10 (API level 29) and higher support\nVulkan 1.1. [Eighty-five percent](/about/dashboards) of active Android\ndevices support Vulkan. The\n[Android Baseline profile](/ndk/guides/graphics/android-baseline-profile)\ndefines a minimum feature set for Vulkan-capable devices.\n\nVulkan helps you create better looking and more performant games. Vulkan unlocks\nthe full potential of modern graphics hardware. Vulkan is used by the\n[Android UI rendering framework](https://skia.org/docs/user/special/vulkan/)\non compatible devices. Current versions of the Unity and Unreal game engines\nchoose Vulkan as their default renderer on compatible Android devices.\nThe [ANGLE](https://github.com/google/angle) project implements a\nconformant implementation of the OpenGL ES API on top of Vulkan.\n\nGet started\n-----------\n\n### C/C++\n\nTo learn how to use Vulkan in your C/C++ game engine on Android, see\n[Get started with Vulkan on Android](/games/develop/vulkan/native-engine-support#get_started_with_vulkan_on_android).\n\nFurthermore, there is a generic Vulkan section for non-game developers in the\nNative Development Kit (NDK) documentation covering the following topics:\n\n- [Shader compilers](/ndk/guides/graphics/shader-compilers) for improved performance\n- [Validation layers](/ndk/guides/graphics/validation-layer) for Vulkan code debugging\n- [Vulkan extensions](/ndk/guides/graphics/extensions) for custom functionality\n- [Android Baseline profile](/ndk/guides/graphics/android-baseline-profile) for device requirements\n\n### Game engines\n\n- [Vulkan on Unity](/games/develop/vulkan/game-engine-support#unity)\n- [Vulkan on Unreal](/games/develop/vulkan/game-engine-support#unreal)\n\nAbout ANGLE\n-----------\n\nVulkan is the preferred Android interface to the GPU.\n[Android 15](https://developer.android.com/about/versions/15/summary) and up\nincludes ANGLE as an optional layer for running OpenGL ES on top of Vulkan.\nMoving to ANGLE standardizes the Android OpenGL implementation for improved\ncompatibility, and in some cases, improved performance.\n\nTest your OpenGL ES app stability and performance with ANGLE using a wide\nvariety of Android 15+ devices by enabling ANGLE for your package with the\nfollowing two adb commands. Replace \"package-name\" with the package to test.\n\n`adb shell settings put global angle_gl_driver_selection_pkgs package-name`\n\n`adb shell settings put global angle_gl_driver_selection_values angle`\n\nThese settings persist across a device reboot.\nTo disable ANGLE use the following commands:\n\n`adb shell settings delete global angle_gl_driver_selection_pkgs`\n\n`adb shell settings delete global angle_gl_driver_selection_values`\n| **Important:** Use the adb commands to test the ANGLE driver for OpenGL ES games. For new projects, use Vulkan.\n\n### Android ANGLE on Vulkan roadmap\n\n| **Note:** As part of streamlining the Android GPU stack, we will ship ANGLE as the GL system driver on more new devices, with the expectation that ultimately OpenGL ES will be available only through ANGLE. We will however continue support for OpenGL ES on all devices.\n\n### Report issue for ANGLE\n\nIf you encountered any issue with ANGLE, report it to us by submitting it in our\n[issue tracker](https://issuetracker.google.com/issues/new?component=1765977&template=2111394).\n| **Note:** This issue tracker is not subject to any SLA."]]