از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
ولکان
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اندروید از Vulkan پشتیبانی میکند، یک API چند پلتفرمی کمسرد برای گرافیکهای سهبعدی با کارایی بالا. مانند OpenGL ES (GLES) ، Vulkan ابزارهایی را برای ایجاد گرافیک با کیفیت بالا و در زمان واقعی در برنامه ها ارائه می دهد. از مزایای استفاده از Vulkan می توان به کاهش سربار CPU و پشتیبانی از زبان SPIR-V Binary Intermediate اشاره کرد.
سیستم بر روی فروشندگان تراشه (SoC) مانند فروشندگان سخت افزار مستقل GPU (IHV) می تواند درایورهای Vulkan را برای اندروید بنویسد. OEM ها باید این درایورها را برای دستگاه های خاص یکپارچه کنند. برای جزئیات در مورد نحوه تعامل یک درایور Vulkan با سیستم، نحوه نصب ابزارهای مخصوص GPU و الزامات خاص Android، به پیاده سازی Vulkan مراجعه کنید.
توسعهدهندگان برنامهها از Vulkan برای ایجاد برنامههایی استفاده میکنند که دستورات را روی GPU اجرا میکنند و سربار آن به میزان قابل توجهی کاهش مییابد. Vulkan همچنین نقشهبرداری مستقیمتری از قابلیتهای موجود در سختافزار گرافیکی فعلی در مقایسه با EGL و GLES ارائه میکند، و فرصتهای باگ درایور را به حداقل میرساند و زمان تست توسعهدهنده را کاهش میدهد.
برای اطلاعات کلی در مورد Vulkan، به نمای کلی Vulkan مراجعه کنید یا فهرست منابع را ببینید.
اجزای ولکان
پشتیبانی Vulkan شامل اجزای زیر است.

شکل 1. اجزای Vulkan
نام جزء | ارائه دهنده | توضیحات |
---|
لایه های اعتبار سنجی Vulkan | Android (در NDK) | کتابخانههایی که در طول توسعه برنامههای Vulkan برای یافتن خطاها در استفاده برنامه از Vulkan API استفاده میشوند. پس از یافتن خطاهای استفاده از API، این کتابخانه ها باید حذف شوند. |
Vulkan Runtime | اندروید | یک کتابخانه بومی، libvulkan.so که یک API بومی Vulkan ارائه میکند.
بیشتر قابلیت های Vulkan Runtime توسط درایور ارائه شده توسط فروشنده GPU پیاده سازی می شود. Vulkan Runtime درایور را پیچیده میکند، قابلیتهای رهگیری API (برای اشکالزدایی و سایر ابزارهای توسعهدهنده) را فراهم میکند، و تعامل بین درایور و وابستگیهای پلتفرم را مدیریت میکند. |
راننده ولکان | SoC | Vulkan API را بر روی دستورات گرافیکی مخصوص سخت افزار و تعاملات با درایور گرافیک کرنل نگاشت می کند. |
اجزای اصلاح شده
BufferQueue و Gralloc از Vulkan پشتیبانی می کنند:
- BufferQueue. مقادیر و روشهای enum اضافی در BufferQueue و رابط
ANativeWindow
، Vulkan Runtime را قادر میسازد تا از طریق ANativeWindow
به BufferQueue متصل شود. - گرالوک. یک رابط اختیاری به Gralloc اجازه میدهد بفهمد که آیا یک قالب مشخص میتواند برای یک ترکیب تولیدکننده/مصرفکننده خاص بدون تخصیص بافر استفاده شود یا خیر.
برای جزئیات بیشتر در مورد این مؤلفهها، به BufferQueue و gralloc مراجعه کنید. برای جزئیات بیشتر در مورد ANativeWindow
، به EGLSurfaces و OpenGL ES مراجعه کنید.
منابع
برای کسب اطلاعات بیشتر در مورد Vulkan از منابع زیر استفاده کنید:
- Vulkan Loader (
libvulkan.so
) در platform/frameworks/native/vulkan
. حاوی بارگذار Vulkan Android و همچنین برخی از ابزارهای مرتبط با Vulkan که برای توسعه دهندگان پلتفرم مفید هستند. - اجرای Vulkan . برای GPU IHV هایی که درایورهای Vulkan را برای اندروید می نویسند و OEM هایی که این درایورها را برای دستگاه های خاص یکپارچه می کنند، در نظر گرفته شده است. نحوه تعامل یک درایور Vulkan با سیستم، نحوه نصب ابزارهای مخصوص GPU و الزامات پیادهسازی خاص اندروید را شرح میدهد.
- راهنمای Vulkan Graphics API . شامل اطلاعاتی درباره شروع استفاده از Vulkan در برنامههای Android، پلتفرم دستورالعملهای طراحی Vulkan Android، استفاده از کامپایلرهای سایهبان Vulkan، و استفاده از لایههای اعتبارسنجی برای کمک به اطمینان از ثبات در برنامههای با استفاده از Vulkan است.
- ولکان نیوز . رویدادها، وصلهها، آموزشها و مقالات خبری مرتبط با Vulkan را پوشش میدهد.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-29 بهوقت ساعت هماهنگ جهانی."],[],[],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."]]