स्थानीय और मालिकाना इंजन

Android पर Vulkan का इस्तेमाल शुरू करना

Vulkan, Android पर लो-लेवल का मुख्य ग्राफ़िक एपीआई है. Vulkan से बेहतरीन नतीजे मिलते हैं ऐसे गेम की परफ़ॉर्मेंस रिपोर्ट जो खुद के गेम इंजन और रेंडरर को लागू करते हैं.

अपने गेम इंजन में Vulkan को लागू करने के लिए, आपको ये काम करने होंगे:

  • पता लगाएं कि Vulkan के साथ किन Android डिवाइसों का इस्तेमाल करना है
  • पुराने Android डिवाइसों के साथ काम करने में होने वाली समस्याओं के बारे में जानें
  • अपने Android बिल्ड टारगेट में Vulkan जोड़ना
  • Vulkan के लिए SPIR-V बनाने के लिए, कोई शेडर कंपाइलर चुनना
  • रनटाइम के दौरान, उपलब्ध Vulkan API वर्शन का पता लगाना
  • Vulkan प्रोफ़ाइलों, फ़्रेम पेसिंग, और प्री-रोटेशन की मदद से, Vulkan रेंडरिंग ऑपरेशन को ऑप्टिमाइज़ करने का तरीका जानें
  • डीबग करने और परफ़ॉर्मेंस का विश्लेषण करने के लिए, ग्राफ़िक टूल चुनना
    ध्यान दें: Android पर Unity या Unreal के साथ Vulkan का इस्तेमाल करने के बारे में जानकारी गेम इंजन, देखें:
  • Unity पर Vulkan
  • Unreal पर Vulkan

Vulkan के लिए, डिवाइस की कम से कम ज़रूरी शर्तें चुनना

Vulkan, Android 7.0 (एपीआई लेवल 24) से शुरू होने वाले Android वर्शन पर उपलब्ध है. नहीं Android 7.0 या उसके बाद के वर्शन वाले सभी Android डिवाइस, Vulkan के साथ काम करते हैं. आपको ये काम करने होंगे तय करें कि आपका गेम, Vulkan की सुविधा वाले किन Android डिवाइसों पर काम करता है.

सुझाव

Vulkan सहायता के लिए कम से कम ज़रूरी शर्तों के तौर पर इन स्पेसिफ़िकेशन को ध्यान में रखें:

  • डिवाइस पर Android 10.0 (एपीआई लेवल 29) या उसके बाद का वर्शन हो
  • डिवाइस पर Vulkan API का वर्शन 1.1 या इसके बाद का वर्शन काम करता हो
  • डिवाइस में 2022 की Android बेसलाइन प्रोफ़ाइल के साथ काम करने वाली हार्डवेयर क्षमताएं और सुविधाएं हों

पुराने डिवाइसों के लिए सहायता

अगर आपके गेम को अलग-अलग लेवल के ग्राफ़िक्स की सुविधाओं वाले कई डिवाइसों पर चलाने के लिए डिज़ाइन किया गया है, तो हो सकता है कि आपको Vulkan के लिए डिवाइसों की ज़रूरी खास बातें चुनें में सुझाए गए डिवाइसों से पुराने डिवाइसों पर भी गेम चलाने की सुविधा देनी पड़े. पुराने डिवाइसों के लिए सहायता बनाने से पहले, यह आकलन करें कि Vulkan आपके गेम के लिए फ़ायदेमंद है या नहीं. जिन गेम में बहुत ज़्यादा ड्रॉ कॉल होते हैं और जो OpenGL ES का इस्तेमाल करते हैं उनमें ड्राइवर का ओवरहेड काफ़ी ज़्यादा हो सकता है. इसकी वजह यह है कि OpenGL ES में ड्रॉ कॉल करने की लागत ज़्यादा होती है. ये गेम, अपने फ़्रेम टाइम का ज़्यादातर हिस्सा ग्राफ़िक ड्राइवर में खर्च करने की वजह से, सीपीयू के हिसाब से काम नहीं कर पाते. OpenGL ES से Vulkan पर स्विच करने से, गेम में सीपीयू और बिजली के इस्तेमाल में काफ़ी कमी आ सकती है. यह है खास तौर पर तब लागू होता है, जब आपके गेम में ऐसे मुश्किल सीन हों जिनका असरदार ढंग से इस्तेमाल नहीं किया जा सकता ड्रॉ कॉल कम करने के लिए ज़रूरत के मुताबिक लगने वाले विकल्प चुनें. पुराने डिवाइसों को टारगेट करते समय, OpenGL ES को शामिल करें रेंडरिंग सपोर्ट को फ़ॉलबैक के तौर पर प्रोसेस करता है. ऐसा इसलिए, क्योंकि आपकी टारगेट डिवाइस सूची में कुछ डिवाइस यहां Vulkan को लागू किया गया है, जो आपके गेम को ठीक से नहीं चला सकता.

हो सकता है कि आप Vulkan की सुविधा वाले पुराने डिवाइसों के लिए ऐप्लिकेशन उपलब्ध न कराना चाहें, क्योंकि इनमें परफ़ॉर्मेंस और सुविधाओं की कमी होती है या इनमें स्थिरता से जुड़ी समस्याएं होती हैं.

परफ़ॉर्मेंस और सुविधाएं

हो सकता है कि Vulkan के साथ काम करने वाले पुराने Android डिवाइसों की रेंडरिंग परफ़ॉर्मेंस न हो या आपके गेम को चलाने के लिए ज़रूरी सुविधाओं के लिए हार्डवेयर की सुविधा. ऐसा खास तौर पर तब हो सकता है, जब आपके गेम में हाई फ़िडेलिटी वाले ग्राफ़िक हों और Android पर Vulkan ही एक ऐसा एपीआई हो जिसे टारगेट किया जा रहा हो. कई पुराने डिवाइस सिर्फ़ 1.0.3 वर्शन तक के Vulkan API के साथ-साथ, बड़े पैमाने पर इस्तेमाल होने वाले Vulkan एक्सटेंशन, अक्सर इस्तेमाल किए जाने वाले आधुनिक हार्डवेयर.

ऐप्लिकेशन को क्रैश या फ़्रीज़ होने जैसी समस्याओं से बचाना

पुराने Android डिवाइसों में, Vulkan ड्राइवर के पुराने वर्शन का इस्तेमाल किया जा सकता है. इन ड्राइवर वर्शन में ऐसी गड़बड़ियां हो सकती हैं जिनसे आपके गेम की परफ़ॉर्मेंस पर असर पड़ सकता है. ड्राइवर के गड़बड़ियों को ठीक करने के लिए, टेस्टिंग और इंजीनियरिंग में काफ़ी समय लग सकता है.

अपने प्रोजेक्ट में Vulkan को जोड़ें

अपने प्रोजेक्ट में Vulkan को जोड़ने के लिए:

  • Vulkan API हेडर शामिल करना
  • शेडर कोड को SPIR-V में कंपाइल करें
  • रनटाइम के दौरान Vulkan API को कॉल करना

Vulkan API हेडर शामिल करना

आपके गेम में Vulkan API की हेडर फ़ाइलें शामिल करनी होंगी, ताकि इन फ़ाइलों का इस्तेमाल करने वाला कोड कंपाइल किया जा सके वल्कन. Vulkan हेडर की कॉपी, Android NDK में या Vulkan SDK टूल की रिलीज़ में पैकेज की गई होती है. एनडीके का कोई खास वर्शन इसमें सिर्फ़ Vulkan हेडर शामिल हैं, जो एनडीके रिलीज़ के समय उपलब्ध होते हैं. अगर आपको एनडीके से Vulkan हेडर का इस्तेमाल करें. इसके अलावा, एनडीके के 25 या इसके बाद वाले वर्शन का इस्तेमाल करें, जिसमें ऐसी हेडर फ़ाइलें जो Vulkan वर्शन 1.3 पर काम करती हैं. Vulkan SDK टूल में सबसे ज़्यादा हेडर का मौजूदा वर्शन है.

शेडर कोड को SPIR-V में कंपाइल करना

Vulkan API को उम्मीद है कि शेडर प्रोग्राम, SPIR-V बाइनरी इंटरमीडिएट फ़ॉर्मैट में उपलब्ध कराए जाएंगे. यह तरीका, OpenGL ES से अलग है. इसमें, OpenGL Shading Language (GLSL) में लिखे गए सोर्स कोड को टेक्स्ट स्ट्रिंग के तौर पर सबमिट किया जा सकता है. शेडर में लिखा गया कोड लेने के लिए, शेडर कंपाइलर का इस्तेमाल करें भाषा जैसे जीएलएसएल या हाई-लेवल शेडर लैंग्वेज (एचएलएसएल) और उसे Vulkan के साथ इस्तेमाल करने के लिए, SPIR-V मॉड्यूल में कंपाइल करें.

शेडर प्रोग्राम को कंपाइल करने के लिए, shaderc कंपाइलर का इस्तेमाल किया जा सकता है को GLSL में SPIR-V में लिखा गया है. अगर आपके गेम में एचएलएसएल का इस्तेमाल किया जाता है, तो DirectXShaderCompiler, SPIR-V आउटपुट के साथ काम करता है. आम तौर पर, आप इसके लिए ऐसेट बनाने की प्रोसेस के हिस्से के तौर पर शेडर प्रोग्राम को ऑफ़लाइन कंपाइल करें और अपने रनटाइम ऐसेट के हिस्से के तौर पर, SPIR-V मॉड्यूल को शामिल करें.

रनटाइम के दौरान Vulkan API को कॉल करना

Vulkan API को कॉल करने के लिए, आपके गेम को Vulkan के लिए फ़ंक्शन पॉइंटर हासिल करने होंगे एपीआई कॉल. ऐसा करने का सबसे आसान तरीका, libvulkan.so शेयर की गई लाइब्रेरी से लिंक करना है. यह लाइब्रेरी, Android NDK में शामिल होती है. लिंक किए जा रहे हैं में दो खामियां हैं: अतिरिक्त फ़ंक्शन डिस्पैच ओवरहेड और वे सीमाएं जिन पर Vulkan API के फ़ंक्शन पॉइंटर अपने-आप काम करते हैं समाधान किया गया.

Vulkan API फ़ंक्शन को कॉल करने पर, कंट्रोल एक डिस्पैच टेबल से होकर गुज़रता है. इसे Vulkan लोडर नाम के कंस्ट्रक्ट से मैनेज किया जाता है. Android पर अपने ही Vulkan लोडर को लागू करने की सुविधा का इस्तेमाल करता है, न कि LukanG के लोडर. यह लोडर सिस्टम, Vulkan API की लेयर आर्किटेक्चर का हिस्सा है. बिल्ड के समय सिस्टम लाइब्रेरी से लिंक करने पर, किसी एपीआई कॉल के लिए एक और डिस्पैच लेवल बन जाता है. ओवरहेड छोटा होता है, लेकिन इस पर ध्यान देने लायक ज़्यादा संख्या में Vulkan कॉल करने वाले गेम के लिए.

आम तौर पर, सिस्टम लाइब्रेरी सिर्फ़ उन Vulkan फ़ंक्शन के पॉइंटर को हल करती है जिन्हें कोर एपीआई का हिस्सा माना जाता है. Vulkan में बहुत सारे एक्सटेंशन हैं, जो अतिरिक्त Vulkan फ़ंक्शन के बारे में बताते हैं. इनमें से कई फ़ंक्शन अपने-आप हल नहीं होते हैं को सेव किया जा सकता है. आपको इन Vulkan के पॉइंटर को मैन्युअल तरीके से हल करना होगा फ़ंक्शन का इस्तेमाल करने से पहले उन्हें आज़माएं.

इन समस्याओं को कम करने के लिए, सभी Vulkan फ़ंक्शन के पॉइंटर को डाइनैमिक तरीके से हल करें तो रनटाइम पर इस्तेमाल करना है. ऐसा करने का एक तरीका, volk जैसी ओपन सोर्स मेटा-लोडर लाइब्रेरी का इस्तेमाल करना है. कॉन्टेंट बनाने AGDKTunnel सैंपल गेम में, इसके लिए volk जोड़ा जाता है. अगर आपने आप मेटा-लोडर लाइब्रेरी का इस्तेमाल कर रहे हों, तो libvulkan.so से लिंक न करें शेयर की गई लाइब्रेरी का इस्तेमाल करें.

पता लगाएं कि Vulkan API का कौनसा वर्शन उपलब्ध है

Android, Vulkan API के इन वर्शन के साथ काम करता है:

  • 1.0.3
  • 1.1
  • 1.3

किसी डिवाइस पर Vulkan API का सबसे नया वर्शन, Android वर्शन और Vulkan ड्राइवर के साथ काम करने की सुविधा के आधार पर तय होता है.

Android वर्शन

Vulkan API के किसी वर्शन के लिए प्लैटफ़ॉर्म का इस्तेमाल करने की सुविधा, Android के कम से कम वर्शन (एपीआई लेवल) पर निर्भर करती है:

  • 1.3 — Android 13.0 (एपीआई लेवल 33) और उसके बाद के वर्शन
  • 1.1 — Android 10.0 (एपीआई लेवल 29) और उसके बाद के वर्शन
  • 1.0.3 — Android 7.0 (एपीआई लेवल 24) और इसके बाद के वर्शन

Vulkan ड्राइवर के साथ काम करना

Vulkan एपीआई वर्शन के लिए Android प्लैटफ़ॉर्म, एपीआई के सही होने की गारंटी नहीं देता यह वर्शन डिवाइस के Vulkan ड्राइवर के साथ काम करता है. हो सकता है कि Android 13 पर चलने वाले डिवाइस पर, Vulkan API का सिर्फ़ 1.1 वर्शन काम करे.

Vulkan को शुरू करते समय, एपीआई के ऐसे वर्शन का अनुरोध न करें जो इनसे ज़्यादा हो:

  • Android के उस वर्शन के लिए, Vulkan API का ज़्यादा से ज़्यादा वर्शन जो डिवाइस
  • Vulkan API वर्शन की रिपोर्ट इनसे मिली vkEnumrateInstanceVersion
  • VkPhysicalDeviceProperties स्ट्रक्चर की apiVersion प्रॉपर्टी से रिपोर्ट किया गया Vulkan API वर्शन

डिवाइस पर काम करने वाले 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 प्रोफ़ाइल के साथ काम करती हो, जैसे कि 2022 Android बेसलाइन प्रोफ़ाइल, तो ओपन सोर्स Vulkan Profiles API लाइब्रेरी का इस्तेमाल करें. प्रोफ़ाइल JSON फ़ाइल को खुद भी पार्स किया जा सकता है. साथ ही, प्रोफ़ाइल के साथ डिवाइस के काम करने की क्षमता का पता लगाने के लिए, काम के Vulkan एपीआई का इस्तेमाल करके, डिवाइस की क्षमताओं के बारे में क्वेरी की जा सकती है.

Vulkan प्रोफ़ाइलें

Android, Vulkan प्रोफ़ाइलों का इस्तेमाल कर रहा है. इससे यह तय होता है कि Android चलाने वाले हर डिवाइस के लिए कौनसी सुविधाएं और एक्सटेंशन उपलब्ध हैं.

Vulkan प्रोफ़ाइल बनाने की पहली कोशिश, Android बेसलाइन प्रोफ़ाइल (एबीपी) से है. ABP2021 और ABP2022, पुरानी प्रोफ़ाइलें हैं. इनका मकसद, उस समय के 85% से ज़्यादा चालू डिवाइसों को कवर करना है. इसके बाद, कोई नया एबीपी अपडेट नहीं होगा.

Android के लिए Vulkan Profiles (VPA), आने वाले समय को ध्यान में रखकर बनाई गई एक नई प्रोफ़ाइल है. साफ़ तौर पर, सॉफ़्टवेयर डेवलपर की ज़रूरतों को पूरा करने और एक जैसी सुविधाओं को सभी के लिए उपलब्ध क्योंकि हार्डवेयर डेवलपर उन्हें डिलीवर कर सकते हैं. VPA15_minimums, Android 15 के लिए पहली प्रोफ़ाइल है. हर साल एक नया VPA उपलब्ध होगा, ताकि Android के हर बड़े वर्शन को कवर किया जा सके.

फ़्रेम पेसिंग लागू करना

बेहतरीन फ़्रेम पेसिंग, अच्छी क्वालिटी का गेमप्ले देने का एक अहम हिस्सा है अनुभव. Android गेम डेवलपमेंट किट में फ़्रेम पेसिंग शामिल है लाइब्रेरी का इस्तेमाल करें. इससे आपके गेम को सही फ़्रेम पेसिंग पाने में मदद मिलती है. लागू करने के बारे में ज़्यादा जानकारी के लिए, अपने Vulkan रेंडरर में Android फ़्रेम पेसिंग को इंटिग्रेट करना लेख पढ़ें.

प्री-रोटेशन लागू करना

Android डिवाइस एक से ज़्यादा ओरिएंटेशन में दिख सकते हैं. डिवाइस ओरिएंटेशन ये काम कर सकता है वे रेंडर सरफ़ेस के ओरिएंटेशन से अलग हों. Android पर OpenGL ES के उलट, Vulkan इन दोनों के बीच के अंतर को मैनेज नहीं करता. ऑरिएंटेशन की प्रोसेस के काम करने का तरीका और Vulkan का इस्तेमाल करते समय ऑरिएंटेशन में होने वाले बदलावों को मैनेज करने का सबसे अच्छा तरीका जानने के लिए, Vulkan के प्री-रोटेशन की सुविधा का इस्तेमाल करके, डिवाइस के रोटेशन को मैनेज करना लेख पढ़ें.

Vulkan रेंडरिंग की समस्या हल करना और उसकी प्रोफ़ाइल बनाना

रेंडरिंग से जुड़ी समस्याओं का पता लगाने के लिए कई टूल उपलब्ध हैं. साथ ही, Vulkan रेंडरिंग कोड की परफ़ॉर्मेंस से जुड़ी समस्याएं होती हैं.

Vulkan के डीबगिंग और प्रोफ़ाइलिंग टूल के बारे में ज़्यादा जानने के लिए, टूल और बेहतर सुविधाएं सेक्शन देखें.

Vulkan की पुष्टि करने वाली लेयर

Vulkan की पुष्टि करने वाली लेयर, ऐसी रनटाइम लाइब्रेरी होती हैं जिन्हें इस्तेमाल करने के लिए चालू किया जा सकता है आपके Vulkan API को किए गए कॉल और इस तरह की किसी चेतावनी या गड़बड़ी के बारे में चेतावनी दी जाती है या जिनका इस्तेमाल बेहतर तरीके से नहीं किया जा सकता. ये पुष्टि लेयर डिफ़ॉल्ट रूप से चालू नहीं होती हैं, क्योंकि पुष्टि करने की प्रोसेस, रनटाइम ओवरहेड जोड़ती है. इससे आपकी परफ़ॉर्मेंस पर असर पड़ता है गेम. अपने गेम में पुष्टि करने वाली लेयर इस्तेमाल करने के तरीके के बारे में जानने के लिए, पुष्टि करने वाली लेयर की मदद से डीबग करना लेख पढ़ें.

फ़्रेम कैप्चर करने वाले टूल

फ़्रेम कैप्चर टूल का इस्तेमाल करके, गेम फ़्रेम सेट करें. इन टूल की मदद से:

  • ऐक्टिव ग्राफ़िक संसाधनों की जानकारी और विज़ुअलाइज़ेशन देखना
  • अपने गेम से किए गए एपीआई कॉल का क्रम देखें और एपीआई पैरामीटर देखें
  • ड्रॉ कॉल के समय ग्राफ़िक पाइपलाइन की स्थिति एक्सप्लोर करें
  • फ़्रेम में किसी खास ड्रॉ कॉल तक रेंडर करने के नतीजों को विज़ुअलाइज़ करें

Android पर चल रहे गेम के फ़्रेम कैप्चर करने के लिए, ओपन सोर्स RenderDoc टूल का इस्तेमाल करें. RenderDoc, Vulkan और दोनों के फ़्रेम कैप्चर करने की सुविधा देता है OpenGL ES.

Android GPU Inspector (AGI) का इस्तेमाल, Vulkan फ़्रेम कैप्चर करने के लिए भी किया जा सकता है.

परफ़ॉर्मेंस का विश्लेषण करने वाले टूल

परफ़ॉर्मेंस विश्लेषण टूल का इस्तेमाल करके, अपने गेम में रेंडरिंग से जुड़ी उन समस्याओं की जांच करें जो कम फ़्रेम रेट का इस्तेमाल कर सकता है. जीपीयू के अलग-अलग वेंडर, ऐसे टूल उपलब्ध कराते हैं जिनका मकसद आपके गेम की प्रोफ़ाइल बनाना और उनके जीपीयू के आर्किटेक्चर के हिसाब से परफ़ॉर्मेंस का डेटा उपलब्ध कराना होता है. अलग-अलग वेंडर के जीपीयू पर रेंडरिंग करते समय, आपके गेम की परफ़ॉर्मेंस की विशेषताएं और समस्याएं काफ़ी अलग-अलग हो सकती हैं. यहां तक कि एक ही वेंडर के अलग-अलग जीपीयू जनरेशन पर भी ऐसा हो सकता है.

डेटा इकट्ठा करने और उसका विश्लेषण करने के लिए, Android जीपीयू इंस्पेक्टर का इस्तेमाल भी किया जा सकता है परफ़ॉर्मेंस डेटा. वेंडर टूल के उलट, Android GPU Inspector, अलग-अलग वेंडर के कई जीपीयू के साथ काम करता है. हालांकि, Android जीपीयू इंस्पेक्टर यह सुविधा पुराने Android डिवाइसों पर काम नहीं करती. हो सकता है कि यह सभी नए डिवाइसों पर भी काम न करे डिवाइस.

CTS-D की मदद से, Vulkan टेस्टिंग को बेहतर बनाना

Android पर चलने वाले डिवाइस बनाने वाली कंपनियां, मदद करने के लिए कंपैटबिलिटी टेस्ट सुइट (सीटीएस) का इस्तेमाल करती हैं पक्का करती है कि उनके डिवाइस साथ काम करें. डेवलपर की ओर से चलाए जाने वाले सीटीएस (सीटीएस-डी) Android ऐप्लिकेशन डेवलपर द्वारा सबमिट किए जाने वाले परीक्षणों से यह सुनिश्चित करने में मदद मिलती है कि Android डिवाइस अपने इस्तेमाल के हिसाब से काम करते हैं और अपने ऐप्लिकेशन का इस्तेमाल कर सकते हैं आसानी से और गड़बड़ियों के बिना.

अगर आपके पास अपने Vulkan ऐप्लिकेशन की मदद से, किसी नई गड़बड़ी को ट्रिगर करने का विकल्प मौजूद है, तो इसका असर किसी भी एक नया ख़ास डिवाइस है, तो उसे टेस्ट करने के लिए एक नया प्रस्ताव सबमिट किया जा सकता है. और उसे चेक करने के तरीके़ बताए गए हैं. इससे यह पक्का होता है कि समस्या को आने वाले समय में इस डिवाइस को अपडेट किया जाएगा. इससे यह भी पक्का होगा कि इसी तरह की कोई गड़बड़ी नहीं होगी किसी भी अन्य डिवाइस पर कनेक्ट कर सकते हैं.

सीटीएस सबमिट करने की प्रोसेस देखें इसे सबमिट करने के सिलसिलेवार निर्देश का सुझाव नहीं देते.