เครื่องมือแบบเนทีฟและที่เป็นกรรมสิทธิ์

เริ่มต้นใช้งาน Vulkan บน Android

Vulkan เป็น API กราฟิกระดับต่ำหลักบน Android Vulkan ให้ประสิทธิภาพสูงสุดสำหรับเกมที่ใช้เกมเอนจินและตัวแสดงภาพของตัวเอง

หากต้องการใช้ Vulkan ในเอนจินเกมให้สำเร็จ คุณต้องทำดังนี้

  • ระบุอุปกรณ์ Android ที่จะใช้กับ Vulkan
  • ทำความเข้าใจข้อดีข้อเสียของการรองรับอุปกรณ์ Android รุ่นเก่า
  • เพิ่ม Vulkan ลงในเป้าหมายบิลด์ Android
  • เลือกคอมไพเลอร์ Shader เพื่อสร้าง SPIR-V สำหรับ Vulkan
  • กำหนดเวอร์ชัน Vulkan API ที่พร้อมใช้งานในรันไทม์
  • ดูวิธีเพิ่มประสิทธิภาพการดำเนินการแสดงภาพ Vulkan ด้วยโปรไฟล์ Vulkan, การกำหนดจังหวะเฟรม และการหมุนล่วงหน้า
  • เลือกเครื่องมือกราฟิกสำหรับการแก้ไขข้อบกพร่องและการวิเคราะห์ประสิทธิภาพ
    หมายเหตุ: ดูข้อมูลเกี่ยวกับการใช้ Vulkan บน Android กับเกมเอนจิน Unity หรือ Unreal ได้ที่
  • Vulkan บน Unity
  • Vulkan บน Unreal

เลือกข้อกำหนดขั้นต่ำของอุปกรณ์สำหรับ Vulkan

Vulkan พร้อมใช้งานบน Android ตั้งแต่ Android 7.0 (ระดับ API 24) เป็นต้นไป อุปกรณ์ Android บางรุ่นที่ใช้ Android 7.0 ขึ้นไปไม่รองรับ Vulkan คุณต้องกำหนดว่าเกมของคุณรองรับอุปกรณ์ Android ที่ใช้ Vulkan ได้รุ่นใดบ้าง

คำแนะนำ

ใช้ข้อกำหนดต่อไปนี้เป็นข้อกำหนดขั้นต่ำสำหรับการรองรับ Vulkan

  • อุปกรณ์ใช้ Android 10.0 (ระดับ API 29) ขึ้นไป
  • อุปกรณ์รองรับ Vulkan API เวอร์ชัน 1.1 ขึ้นไป
  • อุปกรณ์มีความสามารถและฟีเจอร์ของฮาร์ดแวร์ที่เข้ากันได้กับโปรไฟล์พื้นฐานของ Android ปี 2022

การรองรับอุปกรณ์รุ่นเก่า

หากเกมของคุณออกแบบมาให้ทำงานในอุปกรณ์หลากหลายรุ่นที่มีความสามารถด้านกราฟิกแตกต่างกัน คุณอาจต้องรองรับอุปกรณ์รุ่นเก่ากว่าที่แนะนำใน เลือกข้อกำหนดขั้นต่ำของอุปกรณ์สำหรับ Vulkan ก่อนที่จะสร้างการรองรับอุปกรณ์รุ่นเก่า ให้ประเมินว่า Vulkan มีประโยชน์ต่อเกมของคุณหรือไม่ เกมที่มีการเรียกการวาดจำนวนมากและใช้ OpenGL ES อาจมีค่าใช้จ่ายไดรเวอร์สูงเนื่องจากค่าใช้จ่ายสูงในการเรียกการวาดภายใน OpenGL ES เกมเหล่านี้อาจถูกจำกัดด้วย CPU เนื่องจากการใช้เวลาที่ใช้ในการแสดงผลเฟรมส่วนใหญ่ในไดรเวอร์กราฟิก นอกจากนี้ เกมยังอาจมีการใช้ CPU และพลังงานลดลงอย่างมากเมื่อเปลี่ยนจาก OpenGL ES เป็น Vulkan โดยเฉพาะอย่างยิ่งหากเกมของคุณมีฉากที่ซับซ้อนซึ่งใช้การสร้างอินสแตนซ์เพื่อลดการเรียกการวาดได้อย่างไม่มีประสิทธิภาพ เมื่อกำหนดเป้าหมายเป็นอุปกรณ์รุ่นเก่า ให้รวมการรองรับการแสดงภาพ OpenGL ES เป็นการสำรองไว้ เนื่องจากอุปกรณ์บางรุ่นในรายการอุปกรณ์เป้าหมายอาจมีการติดตั้งใช้งาน Vulkan ที่ไม่สามารถเรียกใช้เกมของคุณได้อย่างน่าเชื่อถือ

คุณอาจไม่ต้องการรองรับอุปกรณ์ที่ใช้ Vulkan ได้รุ่นเก่าเนื่องจากประสิทธิภาพและฟีเจอร์ไม่เพียงพอ หรือมีปัญหาด้านความเสถียร

ประสิทธิภาพและฟีเจอร์

อุปกรณ์ Android รุ่นเก่าที่ใช้ Vulkan ได้อาจมีประสิทธิภาพการแสดงภาพหรือการรองรับฮาร์ดแวร์สำหรับฟีเจอร์ที่จำเป็นในการเรียกใช้เกมของคุณไม่เพียงพอ โดยเฉพาะอย่างยิ่งหากเกมของคุณมีกราฟิกที่มีความแม่นยำสูงและ Vulkan เป็น API เดียวที่คุณกำหนดเป้าหมายบน Android อุปกรณ์รุ่นเก่าหลายรุ่นถูกจำกัดไว้ที่ Vulkan API เวอร์ชัน 1.0.3 และมักจะไม่มีส่วนขยาย Vulkan ที่ใช้กันอย่างแพร่หลายซึ่งพร้อมใช้งานในฮาร์ดแวร์ที่ทันสมัยกว่า

ความเสถียร

อุปกรณ์ Android รุ่นเก่าอาจใช้ไดรเวอร์ Vulkan ที่ล้าสมัย ไดรเวอร์เวอร์ชันเหล่านี้อาจมีข้อบกพร่องที่อาจส่งผลต่อความเสถียรของเกม การหลีกเลี่ยงข้อบกพร่องของไดรเวอร์อาจต้องใช้เวลาในการทดสอบและพัฒนาเป็นจำนวนมาก

เพิ่ม Vulkan ลงในโปรเจ็กต์

หากต้องการเพิ่ม Vulkan ลงในโปรเจ็กต์ คุณต้องทำดังนี้

  • รวมส่วนหัว Vulkan API
  • คอมไพล์โค้ด Shader เป็น SPIR-V
  • เรียก Vulkan API ในรันไทม์

รวมส่วนหัว Vulkan API

เกมของคุณต้องมีไฟล์ส่วนหัว Vulkan API เพื่อคอมไพล์โค้ดที่ใช้ Vulkan คุณสามารถดูสำเนาส่วนหัว Vulkan ได้ใน Android NDK หรือ บรรจุอยู่ใน รุ่น Vulkan SDK NDK เวอร์ชันใดเวอร์ชันหนึ่งจะมีเฉพาะส่วนหัว Vulkan ที่พร้อมใช้งานในขณะที่เผยแพร่ NDK หากคุณใช้ส่วนหัว Vulkan จาก NDK ให้ใช้ NDK เวอร์ชัน 25 ขึ้นไป ซึ่งมีไฟล์ส่วนหัวที่รองรับ Vulkan เวอร์ชัน 1.3 Vulkan SDK มีส่วนหัวเวอร์ชันล่าสุด

คอมไพล์โค้ด Shader เป็น SPIR-V

Vulkan API คาดหวังให้โปรแกรม Shader อยู่ในรูปแบบกลางไบนารี SPIR-V รูปแบบนี้แตกต่างจาก OpenGL ES ซึ่งคุณ สามารถส่งซอร์สโค้ดที่เขียนด้วย OpenGL Shading Language (GLSL) เป็นสตริงข้อความ ได้ ใช้คอมไพเลอร์ Shader เพื่อนำโค้ดที่เขียนด้วยภาษา Shader เช่น GLSL หรือ High-level Shader Language (HLSL) มาคอมไพล์เป็นโมดูล SPIR-V เพื่อใช้กับ Vulkan

คุณสามารถใช้คอมไพเลอร์ Shaderc เพื่อคอมไพล์โปรแกรม Shader ที่เขียนด้วย GLSL เป็น SPIR-V ได้ หากเกมของคุณใช้ HLSL, DirectXShaderCompiler จะรองรับเอาต์พุต SPIR-V โดยปกติแล้ว คุณจะคอมไพล์โปรแกรม Shader แบบออฟไลน์เป็นส่วนหนึ่งของกระบวนการบิลด์เนื้อหาสำหรับเกม และรวมโมดูล SPIR-V เป็นส่วนหนึ่งของเนื้อหารันไทม์

เรียก Vulkan API ในรันไทม์

หากต้องการเรียก Vulkan API เกมของคุณต้องได้รับตัวชี้ฟังก์ชันไปยังการเรียก Vulkan API วิธีที่ตรงไปตรงมาที่สุดคือการลิงก์กับไลบรารีที่แชร์ libvulkan.so ซึ่งรวมอยู่ใน Android NDK การลิงก์กับไลบรารีมีข้อบกพร่อง 2 ประการ ได้แก่ ค่าใช้จ่ายในการส่งฟังก์ชันเพิ่มเติมและข้อจำกัดเกี่ยวกับตัวชี้ฟังก์ชัน Vulkan API ที่ได้รับการแก้ไขโดยอัตโนมัติ

เมื่อคุณเรียกใช้ฟังก์ชัน Vulkan API การควบคุมจะผ่านตารางการส่ง ที่จัดการโดยโครงสร้างที่เรียกว่าตัวโหลด Vulkan Android ใช้การติดตั้งใช้งานตัวโหลด Vulkan ของตัวเอง ไม่ใช่ตัวโหลด LunarG ระบบตัวโหลดนี้เป็นส่วนหนึ่งของสถาปัตยกรรมเลเยอร์ของ Vulkan API การลิงก์กับไลบรารีระบบในเวลาบิลด์จะส่งผลให้มีการส่งระดับเพิ่มเติมสำหรับการเรียก API ที่กำหนด แม้ว่าค่าใช้จ่ายจะน้อย แต่เกมที่ทำการเรียก Vulkan จำนวนมากอาจสังเกตเห็นได้

โดยทั่วไปแล้ว ไลบรารีระบบจะแก้ไขเฉพาะตัวชี้ไปยังฟังก์ชัน Vulkan ที่ถือว่าเป็นส่วนหนึ่งของ Core API Vulkan มีส่วนขยายจำนวนมาก ซึ่งกำหนดฟังก์ชัน Vulkan เพิ่มเติม ซึ่งหลายฟังก์ชันไม่ได้รับการแก้ไขโดยอัตโนมัติโดยไลบรารีระบบ คุณต้องแก้ไขตัวชี้ไปยังฟังก์ชัน Vulkan เหล่านี้ด้วยตนเองก่อนที่จะใช้

หากต้องการลดปัญหาเหล่านี้ ให้แก้ไขตัวชี้แบบไดนามิกไปยังฟังก์ชัน Vulkan ทั้งหมดที่คุณต้องการใช้ในรันไทม์ วิธีหนึ่งในการทำเช่นนี้คือการใช้ไลบรารี Meta-Loader แบบโอเพนซอร์ส เช่น volk เกมตัวอย่าง AGDKTunnel ผสานรวม volk เพื่อจุดประสงค์นี้ หากคุณใช้ไลบรารี Meta-Loader อย่าลิงก์กับไลบรารีที่แชร์ libvulkan.so ในสคริปต์การสร้าง

กำหนดเวอร์ชัน Vulkan API ที่พร้อมใช้งาน

Android รองรับ Vulkan API เวอร์ชันต่อไปนี้

  • 1.0.3
  • 1.1
  • 1.3

หมายเลขเวอร์ชัน Vulkan API สูงสุดที่พร้อมใช้งานในอุปกรณ์ที่กำหนดจะกำหนดโดยเวอร์ชัน Android และการรองรับไดรเวอร์ Vulkan

เวอร์ชัน Android

การรองรับแพลตฟอร์มสำหรับ Vulkan API เวอร์ชันหนึ่งขึ้นอยู่กับ Android เวอร์ชันขั้นต่ำ (API ระดับ)

  • 1.3 - Android 13.0 (ระดับ API 33) ขึ้นไป
  • 1.1 - Android 10.0 (ระดับ API 29) ขึ้นไป
  • 1.0.3 - Android 7.0 (ระดับ API 24) ขึ้นไป

การรองรับไดรเวอร์ Vulkan

การรองรับแพลตฟอร์ม Android สำหรับ Vulkan API เวอร์ชันหนึ่งไม่ได้เป็นการรับประกันว่าไดรเวอร์ Vulkan ของอุปกรณ์จะรองรับ API เวอร์ชันนั้น อุปกรณ์ที่ใช้ Android 13 อาจรองรับ Vulkan API เวอร์ชัน 1.1 เท่านั้น

เมื่อเริ่มต้น Vulkan อย่าขอ API เวอร์ชันที่สูงกว่า

  • Vulkan API เวอร์ชันสูงสุดสำหรับ Android เวอร์ชันที่ใช้ในอุปกรณ์
  • Vulkan API เวอร์ชันที่รายงานโดย vkEnumerateInstanceVersion
  • Vulkan API เวอร์ชันที่รายงานโดยพร็อพเพอร์ตี้ apiVersion ของโครงสร้าง VkPhysicalDeviceProperties

ตัวอย่างการกำหนด Vulkan API เวอร์ชันสูงสุดที่รองรับมีดังนี้

// Minimum Android API levels for Vulkan 1.3/1.1 version support
static constexpr int kMinimum_vk13_api_level = 33;
static constexpr int kMinimum_vk11_api_level = 29;

uint32_t GetHighestSupportedVulkanVersion(VkPhysicalDevice physical_device) {
  uint32_t instance_api_version = 0;
  vkEnumerateInstanceVersion(&instance_api_version);

  VkPhysicalDeviceProperties device_properties;
  vkGetPhysicalDeviceProperties(physical_device, &device_properties);

  // Instance and device versions don't have to match, use the lowest version
  // number for API support if they don't.
  const uint32_t driver_api_version =
      (instance_api_version < device_properties.apiVersion) ?
      instance_api_version : device_properties.apiVersion;

  const int device_api_level = android_get_device_api_level();
  if (device_api_level >= kMinimum_vk13_api_level &&
      driver_api_version >= VK_API_VERSION_1_3) {
    return VK_API_VERSION_1_3;
  } else if (device_api_level >= kMinimum_vk11_api_level &&
             driver_api_version >= VK_API_VERSION_1_1) {
    return VK_API_VERSION_1_1;
  }
  return VK_API_VERSION_1_0;
}

กำหนดความเข้ากันได้ของโปรไฟล์ Vulkan

โปรไฟล์ Vulkan เป็นไฟล์ JSON ที่กำหนดชุดฟีเจอร์ ส่วนขยาย ความสามารถ และขีดจำกัดพารามิเตอร์ขั้นต่ำที่อุปกรณ์ Vulkan ต้องรองรับเพื่อให้เข้ากันได้กับโปรไฟล์ หากต้องการตรวจสอบว่าอุปกรณ์เข้ากันได้กับโปรไฟล์ Vulkan ที่เฉพาะเจาะจง เช่น โปรไฟล์พื้นฐานของ Android ปี 2022 ให้ใช้ไลบรารี Vulkan Profiles API แบบโอเพนซอร์ส นอกจากนี้ คุณยังแยกวิเคราะห์ไฟล์ JSON ของโปรไฟล์ด้วยตนเองและค้นหาความสามารถของอุปกรณ์โดยใช้ Vulkan API ที่เกี่ยวข้องเพื่อกำหนดความเข้ากันได้ของโปรไฟล์ได้ด้วย

โปรไฟล์ Vulkan

Android ใช้ โปรไฟล์ Vulkan ซึ่งกำหนดฟีเจอร์และส่วนขยายที่พร้อมใช้งานสำหรับ อุปกรณ์แต่ละเครื่องที่ใช้ Android

โปรไฟล์พื้นฐานของ Android (ABP) เป็นความพยายามครั้งแรกในการสร้างโปรไฟล์ Vulkan ABP2021 และ ABP2022 เป็นโปรไฟล์ที่มองย้อนกลับไปในอดีตโดยมีเป้าหมายเพื่อให้ครอบคลุมอุปกรณ์ที่ใช้งานอยู่ > 85% ในขณะนั้น จะไม่มี ABP ใหม่ในอนาคต

โปรไฟล์ Vulkan สำหรับ Android (VPA) เป็นโปรไฟล์ใหม่ที่มองไปข้างหน้าโดยมีเป้าหมายเพื่อสะท้อนความต้องการของนักพัฒนาซอฟต์แวร์และขับเคลื่อนฟีเจอร์ที่สอดคล้องกันทันทีที่นักพัฒนาฮาร์ดแวร์สามารถส่งมอบได้ VPA15_minimums เป็นโปรไฟล์แรกสำหรับ Android 15 และจะมี VPA ใหม่ทุกปีเพื่อ ครอบคลุม Android เวอร์ชันหลักแต่ละเวอร์ชัน

ใช้การกำหนดจังหวะเฟรม

การกำหนดจังหวะเฟรมที่เหมาะสมเป็นส่วนสำคัญในการมอบประสบการณ์การเล่นเกมคุณภาพสูง Android Game Development Kit มีไลบรารีการกำหนดจังหวะเฟรมเพื่อช่วยให้เกมของคุณกำหนดจังหวะเฟรมได้ดีที่สุด ดูรายละเอียดการติดตั้งใช้งานเพิ่มเติมได้ที่ ผสานรวมการกำหนดจังหวะเฟรมของ Android เข้ากับตัวแสดงภาพ Vulkan

อย่าพึ่งพาการซิงค์และการกำหนดจังหวะเฟรมโดยนัย

vkAcquireNextImageKHR และ vkQueuePresentKHR ใช้เพื่อจัดการ Swapchain หลีกเลี่ยงการพึ่งพาพฤติกรรมการบล็อกที่อาจเกิดขึ้นสำหรับการซิงค์แอปพลิเคชันหรือ GPU ทั่วไป

พฤติกรรมการบล็อกที่แม่นยำของฟังก์ชันเหล่านี้อาจแตกต่างกันอย่างมากใน

  • อุปกรณ์ Android
  • ไดรเวอร์ GPU
  • สถานะเอนจินการนำเสนอ (VkPresentModeKHR)

จุดประสงค์เดียวของ vkAcquireNextImageKHR คือการรับ ภาพที่นำเสนอได้ที่พร้อมใช้งาน และอาจบล็อกหรือไม่ก็ได้ ในทำนองเดียวกัน vkQueuePresentKHR จะจัดคิวคำขอให้แสดง ภาพ และอาจบล็อกหรือไม่ก็ได้

ไม่มีฟังก์ชันใดที่รับประกันการซิงค์งาน CPU หรือการดำเนินการ GPU ที่ไม่เกี่ยวข้องได้อย่างน่าเชื่อถือ

สำหรับการซิงค์ที่แข็งแกร่ง ให้ใช้ Vulkan Primitive ที่ชัดเจนเสมอ เช่น Semaphores สำหรับการขึ้นต่อกันของ GPU-GPU (เช่น การแสดงภาพเพื่อนำเสนอ) Fences สำหรับการซิงค์ GPU-CPU (เช่น การทราบว่าการแสดงภาพเสร็จสิ้นเมื่อใดใน CPU) และ Pipeline Barriers หรือเหตุการณ์สำหรับการดำเนินการ GPU และการขึ้นต่อกันของหน่วยความจำที่ละเอียดยิ่งขึ้น การใช้การซิงค์ที่ชัดเจนช่วยให้มั่นใจได้ถึงพฤติกรรมที่คาดการณ์ได้และหลีกเลี่ยงข้อบกพร่องที่ซ่อนอยู่ซึ่งเกิดจากความแตกต่างของเวลาที่เฉพาะเจาะจงในการติดตั้งใช้งานซึ่งมีอยู่ในระบบนิเวศฮาร์ดแวร์ที่หลากหลายของ Android

ใช้การหมุนล่วงหน้า

อุปกรณ์ Android สามารถแสดงผลได้หลายแนว การวางแนวของอุปกรณ์อาจแตกต่างจากการวางแนวของพื้นผิวการแสดงผล Vulkan ไม่จัดการความแตกต่างระหว่าง 2 แนวนี้ ซึ่งแตกต่างจาก OpenGL ES บน Android หากต้องการทำความเข้าใจวิธีการทำงานของกระบวนการวางแนว และวิธีที่ดีที่สุดในการจัดการความแตกต่างของการวางแนว เมื่อใช้ Vulkan โปรดดู จัดการการหมุนอุปกรณ์ด้วยการหมุนล่วงหน้าของ Vulkan

แก้ปัญหาและสร้างโปรไฟล์การแสดงภาพ Vulkan

มีเครื่องมือมากมายที่พร้อมช่วยคุณวิเคราะห์ปัญหาการแสดงภาพและปัญหาด้านประสิทธิภาพของโค้ดการแสดงภาพ Vulkan

ดูข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือการแก้ไขข้อบกพร่องและการสร้างโปรไฟล์ของ Vulkan ได้ที่ ส่วนเครื่องมือและฟีเจอร์ขั้นสูง

เลเยอร์การตรวจสอบ Vulkan

เลเยอร์การตรวจสอบ Vulkan เป็นไลบรารีรันไทม์ที่เปิดใช้เพื่อตรวจสอบการเรียก Vulkan API และแสดงคำเตือนหรือข้อผิดพลาดเกี่ยวกับการใช้งานที่ไม่ถูกต้องหรือไม่เหมาะสม เลเยอร์การตรวจสอบเหล่านี้จะไม่ทำงานโดยค่าเริ่มต้น เนื่องจากกระบวนการตรวจสอบจะเพิ่มค่าใช้จ่ายรันไทม์และส่งผลต่อประสิทธิภาพของเกม ดูข้อมูลเกี่ยวกับวิธีใช้ชั้นการตรวจสอบกับเกมได้ที่ การแก้ไขข้อบกพร่องด้วยชั้นการตรวจสอบ

เครื่องมือจับภาพเฟรม

ใช้เครื่องมือจับภาพเฟรมเพื่อบันทึกและเล่นซ้ำการเรียก Vulkan API ที่เกิดขึ้นระหว่างเฟรมเกม เครื่องมือเหล่านี้ช่วยให้คุณทำสิ่งต่อไปนี้ได้

  • ดูข้อมูลและภาพแสดงทรัพยากรกราฟิกที่ใช้งานอยู่
  • ดูลำดับการเรียก API ที่เกมของคุณทำและดูพารามิเตอร์ API
  • สำรวจสถานะของไปป์ไลน์กราฟิกในขณะที่เรียกคำสั่งประมวลผล
  • แสดงภาพผลลัพธ์ของการแสดงภาพจนถึงคำสั่งประมวลผลที่เฉพาะเจาะจงในเฟรม

ใช้เครื่องมือ RenderDoc แบบโอเพนซอร์สเพื่อจับภาพเฟรมจาก เกมที่ทำงานบน Android RenderDoc รองรับการจับภาพเฟรมของทั้ง Vulkan และ OpenGL ES

นอกจากนี้ คุณยังใช้ Android GPU Inspector (AGI) เพื่อจับภาพเฟรม Vulkan ได้ด้วย

เครื่องมือวิเคราะห์ประสิทธิภาพ

ใช้เครื่องมือวิเคราะห์ประสิทธิภาพเพื่อตรวจสอบปัญหาการแสดงภาพในเกมที่ทำให้เกิดอัตราเฟรมที่ไม่เหมาะสม ผู้จำหน่าย GPU แต่ละรายมีเครื่องมือที่ออกแบบมาเพื่อสร้างโปรไฟล์เกมและให้ข้อมูลประสิทธิภาพที่เฉพาะเจาะจงกับสถาปัตยกรรม GPU ของตนเอง ลักษณะประสิทธิภาพและคอขวดของเกมอาจแตกต่างกันอย่างมากเมื่อแสดงภาพบน GPU จากผู้จำหน่ายรายต่างๆ หรือแม้แต่ใน GPU รุ่นต่างๆ จากผู้จำหน่ายรายเดียวกัน

นอกจากนี้ คุณยังใช้ Android GPU Inspector เพื่อรวบรวมและวิเคราะห์ข้อมูลประสิทธิภาพได้ด้วย Android GPU Inspector เข้ากันได้กับ GPU หลายรายการจากผู้จำหน่ายรายต่างๆ ซึ่งแตกต่างจากเครื่องมือของผู้จำหน่าย อย่างไรก็ตาม Android GPU Inspector ไม่รองรับอุปกรณ์ Android รุ่นเก่าและอาจไม่เข้ากันได้กับอุปกรณ์ใหม่บางรุ่น

ปรับปรุงการทดสอบ Vulkan ด้วย CTS-D

ผู้ผลิตอุปกรณ์ที่ใช้ Android ใช้ชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) เพื่อช่วยให้มั่นใจว่าอุปกรณ์ของตนเข้ากันได้ CTS ที่ขับเคลื่อนโดยนักพัฒนาแอป (CTS-D) คือ การทดสอบที่นักพัฒนาแอปพลิเคชัน Android ส่งมาเพื่อให้แน่ใจว่าอุปกรณ์ Android ในอนาคตตรงตามกรณีการใช้งานของตน และสามารถเรียกใช้แอปพลิเคชันได้อย่าง ราบรื่นและไม่มีข้อบกพร่อง

หากคุณพบข้อบกพร่องใหม่ในแอปพลิเคชัน Vulkan ที่ส่งผลต่ออุปกรณ์ที่ใช้ Android ที่เฉพาะเจาะจง คุณสามารถส่งข้อเสนอการทดสอบใหม่ โดยอธิบายปัญหาและวิธีตรวจสอบปัญหา ซึ่งจะช่วยให้มั่นใจได้ว่าปัญหาจะได้รับการแก้ไขในการอัปเดตอุปกรณ์ในอนาคต และยังช่วยให้มั่นใจได้ว่าจะไม่มีข้อบกพร่องเดียวกันเกิดขึ้นกับอุปกรณ์อื่นๆ

ดูขั้นตอนการส่ง CTS เพื่อดูวิธีการทีละขั้นตอนในการส่ง ข้อเสนอการทดสอบ