اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
Vulkan
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يتوافق Android مع Vulkan، وهي واجهة برمجة تطبيقات متوافقة مع عدة أنظمة أساسية وقليلة التكلفة لتوفير رسومات ثلاثية الأبعاد عالية الأداء. مثل
OpenGL ES (GLES)، فراهمت مكتبة Vulkan أدوات لإنشاء رسومات عالية الجودة في الوقت الفعلي
في التطبيقات. تشمل مزايا استخدام Vulkan تقليل النفقات العامة لوحدة المعالجة المركزية وSPIR-V
التوافق مع لغة الترميز الثنائي.
يمكن لمورّدي المنظومة على الرقاقة (SoC)، مثل مورّدي الأجهزة المستقلة لوحدة معالجة الرسومات (IHV)،
كتابة برامج تشغيل Vulkan لنظام التشغيل Android. على المصنّعين الأصليين للأجهزة دمج هذه
برامج التشغيل لأجهزة معيّنة. للحصول على تفاصيل حول كيفية تفاعل برنامج تشغيل Vulkan مع
النظام، وكيفية تثبيت الأدوات الخاصة بوحدة معالجة الرسومات، ومتطلبات
Android، يُرجى الاطّلاع على مقالة تنفيذ
Vulkan.
يستخدم مطوّرو التطبيقات Vulkan لإنشاء تطبيقات ejecutan ejecutan comandos en la GPU con un overhead reducido significativamente. يقدّم Vulkan أيضًا
تعيينًا أكثر مباشرةً للإمكانات المتوفّرة في الأجهزة المخصّصة لمعالجة الرسومات مقارنةً بـ EGL وGLES،
مما يقلل من فرص حدوث أخطاء في برامج تشغيل الأجهزة ويقلّل من وقت اختبار المطوّرين.
للحصول على معلومات عامة عن Vulkan، يُرجى الرجوع إلى نظرة عامة على Vulkan أو الاطّلاع على قائمة الموارد.
مكوّنات Vulkan
يتضمّن توافق Vulkan المكوّنات التالية:

الشكل 1: مكوّنات Vulkan
اسم المكوّن |
موفِّر الخدمة |
الوصف |
طبقات التحقّق من Vulkan |
Android (في حزمة NDK) |
المكتبات المستخدَمة أثناء تطوير تطبيقات Vulkan للعثور على أخطاء في
استخدام التطبيق لواجهة برمجة التطبيقات Vulkan بعد العثور على أخطاء في استخدام واجهة برمجة التطبيقات، يجب إزالة
هذه المكتبات. |
وقت تشغيل Vulkan |
Android |
مكتبة أصلية، libvulkan.so ، توفّر واجهة برمجة تطبيقات
أصلية لواجهة Vulkan API
يتم تنفيذ معظم وظائف Vulkan Runtime من خلال برنامج تشغيل
يقدّمه موفّر وحدة معالجة الرسومات. يُغلِف Vulkan Runtime برنامج التشغيل ويوفّر إمكانات رصد واجهة برمجة التطبيقات (للاطّلاع على الأخطاء وأدوات المطوّرين الأخرى) ويدير التفاعل بين برنامج التشغيل ومكوّنات النظام الأساسية. |
برنامج تشغيل Vulkan |
منظومة على رقاقة (SoC) |
تربط واجهة برمجة التطبيقات Vulkan بطلبات وحدة معالجة الرسومات وتفاعلاتها الخاصة بالأجهزة
مع برنامج تشغيل الرسومات في النواة. |
المكونات المعدَّلة
يتيح كلّ من BufferQueue وGralloc استخدام Vulkan:
- BufferQueue. تتيح قيم التعداد والأساليب الإضافية في
BufferQueue وواجهة
ANativeWindow
لـ Vulkan
Runtime الاتصال بـ BufferQueue من خلال ANativeWindow
.
- Gralloc. تتيح واجهة اختيارية لـ Gralloc
معرفة ما إذا كان يمكن استخدام تنسيق معيّن مع تركيبة معيّنة
من مُنشئ/مستهلك بدون تخصيص ذاكرة تخزين مؤقت.
لمعرفة التفاصيل عن هذه المكوّنات، يُرجى الاطّلاع على
BufferQueue و
gralloc. لمعرفة التفاصيل حول ANativeWindow
، يُرجى الاطّلاع على
EGLSurfaces وOpenGL
ES).
المراجع
يمكنك استخدام المراجع التالية للاطّلاع على مزيد من المعلومات حول Vulkan:
-
Vulkan Loader (
libvulkan.so
) على
platform/frameworks/native/vulkan
. يحتوي على أداة تحميل Vulkan
في Android، بالإضافة إلى بعض الأدوات ذات الصلة بـ Vulkan والتي تفيد مطوّري المنصات.
- تنفيذ Vulkan
مخصّص لمطوّري برامج تشغيل الأجهزة المتكاملة لوحدات معالجة الرسومات (IHV) الذين يكتبون برامج تشغيل Vulkan لنظام Android والمصنّعين الأصليين للأجهزة الذين يدمجون هذه برامج التشغيل لأجهزة معيّنة. ويوضّح الدليل
كيفية تفاعل برنامج تشغيل Vulkan مع النظام، وكيفية تثبيت الأدوات المتعلّقة بوحدة معالجة الرسومات، ومتطلبات التنفيذ الخاصة بنظام التشغيل Android.
- دليل Vulkan Graphics API تتضمّن هذه المقالة معلومات حول بدء استخدام Vulkan في تطبيقات Android، وإرشادات تصميم Vulkan في نظام Android، واستخدام أدوات تجميع برامج التظليل في Vulkan، واستخدام مستويات التحقّق للمساعدة في ضمان ثبات التطبيقات التي تستخدم Vulkan.
- أخبار Vulkan يتناول القسم
الأحداث والتعديلات والأدلة التعليمية والمزيد من المقالات الإخبارية المتعلّقة بـ Vulkan.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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."]]