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

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

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

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

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

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 के पुराने वर्शन मौजूद नहीं हैं या स्थिरता से जुड़ी समस्याएं हों.

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

हो सकता है कि Vulkan के साथ काम करने वाले पुराने 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 शेडिंग लैंग्वेज (जीएलएसएल) स्ट्रिंग. शेडर में लिखा गया कोड लेने के लिए, शेडर कंपाइलर का इस्तेमाल करें भाषा जैसे जीएलएसएल या हाई-लेवल शेडर लैंग्वेज (एचएलएसएल) और 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 एपीआई का सबसे नया वर्शन नंबर इस्तेमाल किया गया है या नहीं 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
  • Vulkan API का वर्शन, जिसकी apiVersion प्रॉपर्टी ने रिपोर्ट किया है: Vk ऑनलाइनDeviceProperties स्ट्रक्चर

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 डिवाइस चला रहे हैं.

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

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

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

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

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

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

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

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

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

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

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

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

फ़्रेम कैप्चर टूल का इस्तेमाल करके, गेम फ़्रेम सेट करें. इन टूल से, ये काम किए जा सकते हैं:

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

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

Android जीपीयू इंस्पेक्टर (एजीआई) का इस्तेमाल, Vulkan फ़्रेम कैप्चर करने के लिए भी किया जा सकता है.

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

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

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

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

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

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

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