استفاده از Vulkan برای گرافیک

Vulkan یک میانای برنامه‌سازی کاربردی گرافیک سه‌بعدی چندسکویی مدرن است که برای به‌حداقل رساندن انتزاع بین سخت‌افزار گرافیک دستگاه و بازی شما طراحی شده است. ‫Vulkan میانای برنامه‌سازی کاربردی گرافیک سطح پایین اصلی در Android است که جایگزین OpenGL ES می‌شود. ‫OpenGL ES همچنان در Android پشتیبانی می‌شود، اما دیگر تحت توسعه فعال ویژگی نیست. ‫Vulkan مزایای زیر را نسبت به OpenGL ES ارائه می‌دهد:

  • معماری کارآمدتر با سربار CPU کمتر در درایور گرافیک
  • استراتژی‌های بهینه‌سازی جدید برای بهبود عملکرد واحد پردازش مرکزی
  • ویژگی‌های گرافیکی جدید که در OpenGL ES دردسترس نیست، مانند میاناهای برنامه‌سازی کاربردی بدون اتصال و ردیابی پرتو

‫Vulkan در Android از Android 7 (سطح میانای برنامه‌سازی کاربردی ۲۴) دردسترس است. همه دستگاه‌های Android ۶۴ بیتی از Android 10 (سطح میانای برنامه‌سازی کاربردی ۲۹) و بالاتر از Vulkan 1.1 پشتیبانی می‌کنند. هشتادوپنج درصد از دستگاه‌های فعال Android از Vulkan پشتیبانی می‌کنند. نمایه پایه Android حداقل مجموعه ویژگی‌ها را برای دستگاه‌های سازگار با Vulkan تعریف می‌کند.

‫Vulkan به شما کمک می‌کند بازی‌های بهتر و با عملکرد بالاتری بسازید. ‫Vulkan از همه قابلیت‌های سخت‌افزار گرافیک مدرن استفاده می‌کند. در دستگاه‌های سازگار، چارچوب پردازش میانای کاربری Android از Vulkan استفاده می‌کند. نسخه‌های فعلی موتورهای بازی Unity و Unreal در دستگاه‌های Android سازگار، Vulkan را به‌عنوان رندرکننده پیش‌فرض خود انتخاب می‌کنند. پروژه ANGLE پیاده‌سازی سازگاری از میانای برنامه کاربردی OpenGL ES را در بالای Vulkan پیاده‌سازی می‌کند.

شروع کنید

C/C++‎

برای آشنایی با نحوه استفاده از Vulkan در موتور بازی C/C++ در Android، به شروع کار با Vulkan در Android مراجعه کنید.

علاوه‌براین، یک بخش Vulkan عمومی برای توسعه‌دهندگان غیربازی در مستندات «کیت توسعه بومی» (NDK) وجود دارد که موضوعات زیر را پوشش می‌دهد:

موتورهای بازی

درباره ANGLE

‫Vulkan رابط ترجیحی Android برای GPU است. Android 15 و نسخه‌های بالاتر شامل ANGLE به‌عنوان لایه اختیاری برای اجرای OpenGL ES در بالای Vulkan می‌شود. انتقال به استاندارد ANGLE پیاده‌سازی Android OpenGL را برای بهبود سازگاری و در برخی موارد، بهبود عملکرد استانداردسازی می‌کند.

با فعال کردن ANGLE برای بسته‌تان با دو فرمان adb زیر، پایداری و عملکرد برنامه OpenGL ES خود را با ANGLE در انواع مختلف دستگاه‌های Android 15 و بالاتر آزمایش کنید. «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 استفاده کرد، به‌جای آن از درایور gles فروشنده gpu استفاده خواهد شد.

<application android:appCategory="game">
    <meta-data android:name="com.android.graphics.driver.prefer_angle" android:value="true" />
</application>

نقشه راه Android ANGLE در Vulkan

نقشه راه Android ANGLE در Vulkan

گزارش مشکل برای ANGLE

اگر با ANGLE مشکلی داشتید، آن را با ارسال در ردیاب مشکل به ما گزارش دهید.