ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
Vulkan
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
Android รองรับ Vulkan ซึ่งเป็น API แบบข้ามแพลตฟอร์มที่มีค่าใช้จ่ายต่ำสำหรับกราฟิก 3 มิติที่มีประสิทธิภาพสูง เช่นเดียวกับ OpenGL ES (GLES), Vulkan มีเครื่องมือสำหรับสร้างกราฟิกคุณภาพสูงแบบเรียลไทม์ในแอป ข้อดีของการใช้ Vulkan ได้แก่ การลดค่าใช้จ่ายเพิ่มเติมของ CPU และรองรับภาษา SPIR-V
Binary Intermediate
ผู้ให้บริการระบบวงจรรวมบนชิป (SoC) เช่น ผู้ให้บริการฮาร์ดแวร์อิสระ (IHV) ของ GPU จะเขียนโปรแกรมควบคุม Vulkan สำหรับ Android ได้ OEM ต้องผสานรวมไดรเวอร์เหล่านี้สำหรับอุปกรณ์ที่เฉพาะเจาะจง โปรดดูรายละเอียดเกี่ยวกับวิธีที่ไดรเวอร์ Vulkan โต้ตอบกับระบบ วิธีติดตั้งเครื่องมือสำหรับ GPU โดยเฉพาะ และข้อกำหนดเฉพาะของ Android ที่หัวข้อการใช้ Vulkan
นักพัฒนาแอปพลิเคชันใช้ Vulkan เพื่อสร้างแอปที่ดำเนินการคำสั่งใน GPU โดยลดค่าใช้จ่ายเพิ่มเติมได้อย่างมาก นอกจากนี้ Vulkan ยังให้การแมปกับความสามารถที่มีอยู่ในฮาร์ดแวร์กราฟิกปัจจุบันโดยตรงกว่า EGL และ GLES ซึ่งจะช่วยลดโอกาสที่จะเกิดข้อบกพร่องของไดรเวอร์และลดเวลาการทดสอบของนักพัฒนาซอฟต์แวร์
ดูข้อมูลทั่วไปเกี่ยวกับ Vulkan ได้ที่หัวข้อภาพรวมของ Vulkan หรือดูรายการแหล่งข้อมูล
คอมโพเนนต์ Vulkan
การรองรับ Vulkan ประกอบด้วยคอมโพเนนต์ต่อไปนี้

รูปที่ 1 คอมโพเนนต์ Vulkan
ชื่อคอมโพเนนต์ |
ผู้ให้บริการ |
คำอธิบาย |
เลเยอร์การตรวจสอบ Vulkan |
Android (ใน NDK) |
ไลบรารีที่ใช้ในระหว่างการพัฒนาแอป Vulkan เพื่อค้นหาข้อผิดพลาดในการใช้ Vulkan API ของแอป หลังจากพบข้อผิดพลาดในการใช้งาน API แล้ว คุณควรนําไลบรารีเหล่านี้ออก |
รันไทม์ Vulkan |
Android |
ไลบรารีแบบเนทีฟ libvulkan.so ที่มี Vulkan API ดั้งเดิม
โดยฟังก์ชันการทำงานของ Vulkan Runtime ส่วนใหญ่จะทำงานผ่านไดรเวอร์ที่ได้จากผู้ให้บริการ GPU Vulkan Runtime จะรวมไดรเวอร์ไว้ด้วยกัน มอบความสามารถในการรับส่งข้อมูล API (สำหรับการแก้ไขข้อบกพร่องและเครื่องมืออื่นๆ สำหรับนักพัฒนาซอฟต์แวร์) และจัดการการโต้ตอบระหว่างไดรเวอร์กับแพลตฟอร์มที่ต้องใช้ร่วมกัน |
โปรแกรมควบคุม Vulkan |
SoC |
แมป Vulkan API กับคำสั่ง GPU และการทำงานร่วมกันกับไดรเวอร์กราฟิกเคอร์เนลที่เจาะจงฮาร์ดแวร์ |
คอมโพเนนต์ที่แก้ไขแล้ว
BufferQueue และ Gralloc รองรับ Vulkan
- BufferQueue ค่าและเมธอดเพิ่มเติมของ Enum ใน BufferQueue และอินเทอร์เฟซ
ANativeWindow
ช่วยให้ Vulkan Runtime เชื่อมต่อกับ BufferQueue ผ่าน ANativeWindow
ได้
- Gralloc อินเทอร์เฟซที่ไม่บังคับช่วยให้ Gralloc ค้นพบว่าสามารถใช้รูปแบบหนึ่งๆ กับชุดค่าผสมของผู้ผลิต/ผู้บริโภคหนึ่งๆ ได้หรือไม่โดยไม่ต้องจัดสรรบัฟเฟอร์
โปรดดูรายละเอียดเกี่ยวกับคอมโพเนนต์เหล่านี้ที่ BufferQueue และ gralloc โปรดดูรายละเอียดเกี่ยวกับ ANativeWindow
ที่หัวข้อ EGLSurfaces และ OpenGLES)
แหล่งข้อมูล
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Vulkan ได้จากแหล่งข้อมูลต่อไปนี้
-
Vulkan Loader (
libvulkan.so
) ที่
platform/frameworks/native/vulkan
มี Vulkan Loader ของ Android รวมถึงเครื่องมือบางอย่างที่เกี่ยวข้องกับ Vulkan ซึ่งเป็นประโยชน์ต่อนักพัฒนาแพลตฟอร์ม
- การใช้ Vulkan
มีไว้สำหรับ IHV ของ GPU ที่เขียนไดรเวอร์ Vulkan สำหรับ Android และ OEM ที่ผสานรวมไดรเวอร์เหล่านั้นสำหรับอุปกรณ์ที่เฉพาะเจาะจง ซึ่งจะอธิบายวิธีการทำงานของไดรเวอร์ Vulkan กับระบบ วิธีติดตั้งเครื่องมือสำหรับ GPU โดยเฉพาะ และข้อกำหนดเฉพาะในการใช้งานสำหรับ Android
- คู่มือ Vulkan Graphics API มีข้อมูลเกี่ยวกับการเริ่มต้นใช้งาน Vulkan ในแอป Android, แพลตฟอร์มหลักเกณฑ์การออกแบบ Vulkan ของ Android, การใช้คอมไพเลอร์ Shader ของ Vulkan และการใช้เลเยอร์การตรวจสอบเพื่อช่วยเพิ่มความเสถียรในแอปที่ใช้ Vulkan
- Vulkan News ครอบคลุมกิจกรรม แพตช์ บทแนะนำ และบทความข่าวอื่นๆ ที่เกี่ยวข้องกับ Vulkan
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ 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,["# Vulkan\n\nAndroid supports\n[Vulkan](https://www.khronos.org/vulkan/), a\nlow-overhead, cross-platform API for high-performance 3D graphics. Like\n[OpenGL ES (GLES)](https://www.khronos.org/opengles/),\nVulkan provides tools for creating high-quality, real-time graphics\nin apps. Advantages of using Vulkan include reductions in CPU overhead and\nsupport for the [SPIR-V\nBinary Intermediate](https://www.khronos.org/spir) language.\n\nSystem on chip vendors (SoCs) such as GPU independent hardware vendors (IHVs)\ncan write Vulkan drivers for Android. OEMs need to integrate these\ndrivers for specific devices. For details on how a Vulkan driver interacts with\nthe system, how GPU-specific tools should be installed, and Android-specific\nrequirements, see [Implementing\nVulkan.](/docs/core/graphics/implement-vulkan)\n\nApplication developers use Vulkan to create apps that\nexecute commands on the GPU with significantly reduced overhead. Vulkan also\nprovides a more direct mapping to the capabilities found in current graphics\nhardware compared to [EGL](https://www.khronos.org/egl) and GLES,\nminimizing opportunities for driver bugs and reducing developer testing time.\n\nFor general information on Vulkan, refer to the\n[Vulkan\nOverview](http://khr.io/vulkanlaunchoverview) or see the list of [Resources](#resources).\n\nVulkan components\n-----------------\n\nVulkan support includes the following components.\n\n**Figure 1.** Vulkan components\n\n| Component name | Provider | Description |\n|--------------------------|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Vulkan Validation Layers | Android (in the NDK) | Libraries used during the development of Vulkan apps to find errors in an app's use of the Vulkan API. After API usage errors are found, these libraries should be removed. |\n| Vulkan Runtime | Android | A native library, `libvulkan.so`, that provides a native Vulkan API. Most of Vulkan Runtime's functionality is implemented by a driver provided by the GPU vendor. Vulkan Runtime wraps the driver, provides API interception capabilities (for debugging and other developer tools), and manages the interaction between the driver and the platform dependencies. |\n| Vulkan Driver | SoC | Maps the Vulkan API onto hardware-specific GPU commands and interactions with the kernel graphics driver. |\n\nModified components\n-------------------\n\nBufferQueue and Gralloc support Vulkan:\n\n- **BufferQueue.** Additional enum values and methods in BufferQueue and the `ANativeWindow` interface enable Vulkan Runtime to connect to BufferQueue through `ANativeWindow`.\n- **Gralloc.** An optional interface lets Gralloc discover whether a given format can be used for a particular producer/consumer combination without allocating a buffer.\n\nFor details on these components, see\n[BufferQueue and\ngralloc](/docs/core/graphics/arch-bq-gralloc). For details on `ANativeWindow`, see\n[EGLSurfaces and OpenGL\nES](/docs/core/graphics/arch-egl-opengl)).\n\nResources\n---------\n\nUse the following resources to learn more about Vulkan:\n\n- [Vulkan Loader](https://android.googlesource.com/platform/frameworks/native/+/android16-release/vulkan/#) (`libvulkan.so`) at `platform/frameworks/native/vulkan`. Contains Android's Vulkan loader, as well as some Vulkan-related tools useful to platform developers.\n- [Implementing Vulkan](/docs/core/graphics/implement-vulkan). Intended for GPU IHVs writing Vulkan drivers for Android and OEMs integrating those drivers for specific devices. It describes how a Vulkan driver interacts with the system, how GPU-specific tools should be installed, and Android-specific implementation requirements.\n- [Vulkan Graphics API Guide](https://developer.android.com/ndk/guides/graphics/index.html). Includes information on getting started with using Vulkan in Android apps, Android's Vulkan design guidelines platform, using Vulkan's shader compilers, and using validation layers to help ensure stability in apps using Vulkan.\n- [Vulkan News](https://www.khronos.org/#slider_vulkan). Covers events, patches, tutorials, and more Vulkan-related news articles."]]