ग्राफ़िक्स

  
Android प्लैटफ़ॉर्म के अलग-अलग वर्शन पर होने वाली सभी रिलीज़ में, ग्राफ़िक की सुविधाओं का फ़ायदा लें

इस टेबल में, androidx.graphics ग्रुप के सभी आर्टफ़ैक्ट शामिल हैं.

सह-प्रॉडक्ट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
ग्राफ़िक्स-कोर 1.0.1 - - -
ग्राफ़िक्स-पाथ 1.0.1 - - -
ग्राफ़िक के आकार 1.0.1 - - -
इस लाइब्रेरी को पिछली बार अपडेट किए जाने की तारीख: 4 सितंबर, 2024

डिपेंडेंसी तय करना

ग्राफ़िक्स पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट. Google की Maven रिपॉज़िटरी पढ़ें हमारा वीडियो देखें.

उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle फ़ाइल में ज़रूरत है आपका ऐप्लिकेशन या मॉड्यूल:

ग्रूवी

dependencies {
    implementation "androidx.graphics:graphics-core:1.0.1"
    implementation "androidx.graphics:graphics-path:1.0.1"
    implementation "androidx.graphics:graphics-shapes:1.0.1"
}

Kotlin

dependencies {
    implementation("androidx.graphics:graphics-core:1.0.1")
    implementation("androidx.graphics:graphics-path:1.0.1")
    implementation("androidx.graphics:graphics-shapes:1.0.1")
}

डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको नई समस्याओं का पता चलता है या आपको इस लाइब्रेरी को बेहतर बनाने के लिए आइडिया मिल सकते हैं. कृपया, इस मौजूदा समस्याएं इस लाइब्रेरी में जोड़ें. किसी मौजूदा समस्या के लिए अपना वोट दें. इसके लिए ये तरीके अपनाएं: स्टार बटन पर क्लिक करके ऐसा किया जा सकता है.

नई समस्या जोड़ें

समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें हमारा वीडियो देखें.

इस आर्टफ़ैक्ट के लिए कोई रिलीज़ नोट नहीं है.

ग्राफ़िक्स आकार वर्शन 1.0

वर्शन 1.0.0

21 अगस्त, 2024

androidx.graphics:graphics-shapes:1.0.0, androidx.graphics:graphics-shapes-android:1.0.0, और androidx.graphics:graphics-shapes-desktop:1.0.0 रिलीज़ हुए हैं. वर्शन 1.0.0 में ये बातें शामिल हैं.

वर्शन 1.0.0-rc01

24 जुलाई, 2024

androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01, और androidx.graphics:graphics-shapes-desktop:1.0.0-rc01 रिलीज़ हुए हैं. वर्शन 1.0.0-rc01 में ये कमिट शामिल हैं.

वर्शन 1.0.0-beta01

1 मई, 2024

androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01, और androidx.graphics:graphics-shapes-desktop:1.0.0-beta01 रिलीज़ हुए हैं. वर्शन 1.0.0-beta01 में ये प्रतिबद्धताएं शामिल हैं.

एपीआई में किए गए बदलाव

  • आकारों को किसी दूसरे बिंदु से शुरू होने के लिए पहले से घुमाने की अनुमति दें. इस बदलाव से pillStar आकृतियों को परिधि पर एक गैर-डिफ़ॉल्ट बिंदु से अपना कर्व शुरू करने की अनुमति मिलती है. आकार की आउटलाइन पर किसी खास जगह से ड्रॉइंग शुरू करना शुरू करने के लिए, यह आकार के पाथ की स्ट्रोकिंग को ऐनिमेट करते समय काम आ सकता है. (Ifbb4d, b/324303807)
  • calculateBounds() फ़ंक्शन को Morph में जोड़ा गया, जो RoundedPolygon पर दिए गए इन फ़ंक्शन के साथ-साथ चलता है. (I8a3b6, b/325463575)

वर्शन 1.0.0-alpha05

7 फ़रवरी, 2024

androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05, और androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha05 में ये कमियां हैं.

नई सुविधाएं

  • गोल/स्टार के निशान वाली इन आकृतियों को आसानी से बनाने के लिए, लाइब्रेरी में अब pill() और pillStar() के नए फ़ंक्शन उपलब्ध हैं. किसी आकार की सटीक सीमाओं का पता लगाने के लिए नए एपीआई भी मौजूद हैं (पिछली सीमाएं सिर्फ़ बुनियादी बेज़ियर कर्व ऐंकर और कंट्रोल पॉइंट के आधार पर एक अनुमान थीं). साथ ही, सबसे ज़्यादा संभावित सीमाओं का भी हिसाब लगाया जा सकता है. इनसे कंटेनर के साइज़ का पता लगाने में मदद मिल सकती है, अगर उसे कंटेनर के अंदर घुमाया जाएगा. (I71827)

एपीआई में किए गए बदलाव

  • सटीक और ज़्यादा से ज़्यादा रेंज की जानकारी पाने के लिए, अब ज़्यादा विकल्प. (I6d49f, b/317286450)

गड़बड़ियां ठीक की गईं

  • इन आकारों को स्ट्रोक वाले पाथ के रूप में बनाते समय, कभी-कभी आर्टफ़ैक्ट भी रेंडर हो जाते थे. शून्य-लंबाई वाले कर्व से जुड़ी, रेंडरिंग की कम-लेवल की समस्या की वजह से ऐसा होता था. इस गड़बड़ी को शून्य-अवधि वाले सभी कर्वों को हटाकर ठीक किया गया था (जिनकी आकारों की ज़रूरत नहीं थी, इसलिए आकारों से बने पाथ के ओवरहेड को भी बचाया गया था).

वर्शन 1.0.0-alpha04

13 दिसंबर, 2023

androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04, और androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha04 में ये कमियां हैं.

नई सुविधाएं

  • इस रिलीज़ में, एपीआई में कई बदलावों के साथ-साथ गड़बड़ियां ठीक की गई हैं.
  • एपीआई में किए गए कई बदलाव, आकार लाइब्रेरी को केएमपी के हिसाब से सही बनाते हैं. इससे बिना Android वाले कोड (जैसे कि Android-एग्नोस्टिक Compose कोड) से कॉल करना आसान हो जाता है. उदाहरण के लिए, एपीआई में कोई Android टाइप नहीं है, जैसे कि पिछले PointF, मैट्रिक्स, और पाथ टाइप.
  • एपीआई में भी कई बदलाव किए गए हैं और परफ़ॉर्मेंस को ध्यान में रखते हुए लागू किया गया है, खास तौर पर ऑब्जेक्ट ऐलोकेशन (और कलेक्शन) को कम करने के लिए. उदाहरण के लिए, PointF से अलग-अलग फ़्लो पैरामीटर पर जाने से, उन शीर्षों को रखने के लिए कई अस्थायी PointF स्ट्रक्चर तय करने से बचा जा सकता है.

एपीआई में किए गए बदलाव

  • MutableCubics में दोहराने के लिए, Morph.asMutableCubics को किसी फ़ंक्शन से बदला गया. PointTransformer फ़ंक्शनल इंटरफ़ेस बदला गया. अब यह Point के x और y कोऑर्डिनेट को लेता है और TransformedResult (जिसे x और y में बदलाव करके बनाए गए कोऑर्डिनेट से बनाया गया है) (I6719e) दिखाता है
  • सार्वजनिक Cubic कंस्ट्रक्टर को हटाकर, इसे फ़ैक्ट्री फ़ंक्शन बना दिया गया है. (I409ce)
  • Android के लिए खास ट्रांसफ़ॉर्म और ड्रॉइंग एपीआई (I079f6, b/292289543) जोड़ना
  • Android डिपेंडेंसी हटाएं (Iadc1c, b/292289543)
  • ऐंकर और कंट्रोल प्रॉपर्टी के नाम अब बेहतर हो गए हैं (If13bd, b/294562941)
  • PointF पैरामीटर, Float पेयर में बदल गए (Id4705, b/276466399, b/290254314)
  • progress अब सीधे तौर पर, Morph ड्रॉइंग कमांड को पास किया गया है (Icdca2)

गड़बड़ियां ठीक की गईं

  • बड़े आकार बनाते समय बग को ठीक किया गया. (I4fd66, b/313497325)

वर्शन 1.0.0-alpha03

7 जून, 2023

androidx.graphics:graphics-shapes:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये कमियां हैं.

एपीआई में किए गए बदलाव

  • नया RoundedPolygon.rectangle() फ़ंक्शन जोड़ा गया (I78e7e, b/280322189)
  • स्टार और सर्कल फ़ंक्शन को अब RoundedPolygon के कंपैनियन ऑब्जेक्ट के ज़रिए कॉल किया जाता है. इसके लिए, कैपिटल लेटर का इस्तेमाल किया जाता है और ये फ़ंक्शन इस्तेमाल किए जाते हैं: उदाहरण के लिए, RoundedPolygon.star(...)(I14735)

गड़बड़ियां ठीक की गईं

  • स्मूदिंग से जुड़ी गड़बड़ी को ठीक किया गया (Ibf894)
  • उस गड़बड़ी को ठीक किया गया है जो शुरू और खत्म होने का आकार एक जैसा था. कट लगाने के लिए खाली जगह रखें. सबसे पहले राउंडिंग के लिए खाली जगह का इस्तेमाल करें, फिर खाली जगह होने पर स्मूदिंग के लिए. (Ibd320, b/277936300)

वर्शन 1.0.0-alpha02

19 अप्रैल, 2023

androidx.graphics:graphics-shapes:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये कमियां हैं.

एपीआई में किए गए बदलाव

  • पॉलीगॉन सुपर क्लास को अपनी सब-क्लास, RoundedPolygon के साथ मर्ज कर दिया गया; सभी पॉलीगॉन अब [ज़रूरी नहीं] गोल पॉलीगॉन हो गए हैं.
  • स्टार फ़ंक्शन (जो अब भी पहले की तरह, RoundedPolygon वैल्यू दिखाता है) अब पिछले innerRadiusRatio पैरामीटर के बजाय, innerRadius वैल्यू लेता है. यह उन इकाइयों में है जिनमें मौजूदा दायरा पैरामीटर है. इससे चीज़ें आसान और एक जैसी हो जाती हैं. साथ ही, यह बताने के लिए कि एक ही नंबर को इनर और आउटर दोनों के दायरे में लागू किया गया है, numOuterVertices पैरामीटर का नाम बदलकर numVerticesPerRadius कर दिया गया.
  • CornerRounding.radius को पहले पॉलीगॉन के साइज़ के हिसाब से दस्तावेज़ किया गया था. हालांकि, यह वैल्यू ऐब्सलूट, रिलेटिव नहीं, और वैल्यू थी (और होना भी चाहिए). दस्तावेज़ अपडेट कर दिए गए थे. साथ ही, इसे 1.0 की ज़्यादा से ज़्यादा वैल्यू तक सीमित करने वाले एनोटेशन को ठीक कर दिया गया था.

वर्शन 1.0.0-alpha01

5 अप्रैल, 2023

ग्राफ़िक्स-शेप एक नई लाइब्रेरी है, जिससे गोल आकार वाले पॉलीगॉन आकारों को आसानी से बनाया और रेंडर किया जा सकता है. साथ ही, अलग-अलग आकृतियों के बीच आसान और ऑटोमैटिक मॉर्फ़िंग (एनिमेशन) की सुविधा भी मिलती है.

androidx.graphics:graphics-shapes:1.0.0-alpha01 रिलीज़ हो गया है. इस वर्शन को किसी इंटरनल ब्रांच से रिलीज़ किया गया था.

नई सुविधाएं

  • अपने हिसाब से वर्टेक्स की संख्या वाले रेगुलर और स्टार पॉलीगॉन बनाने के लिए, पॉलीगॉन एपीआई का इस्तेमाल करें.
  • कोनों के लिए राउंडिंग रेडियस और स्मूदिंग पैरामीटर तय करने के लिए, वैकल्पिक CornerRounding पैरामीटर का इस्तेमाल करें. इससे, पॉलीगॉन आकार में गोल कोने तैयार हो जाते हैं.
  • नए Morph(Polygon, Polygon) एपीआई का इस्तेमाल करके, अपने-आप “मॉर्फ़” आकार का हिसाब लगाएं. इस आकार की प्रोग्रेस को 0 से 1 के बीच सेट किया जा सकता है, ताकि शुरू और आखिर के आकार के बीच ऐनिमेट किया जा सके. समय के साथ उस प्रगति को ऐनिमेट करते हुए, प्रत्येक फ़्रेम पर परिणाम बनाते हुए, इन नई गोल आकृतियों के बीच एक सहज एनिमेशन बनाने के लिए.

ग्राफ़िक पाथ वर्शन 1.0

वर्शन 1.0.1

1 मई, 2024

androidx.graphics:graphics-path:1.0.1 रिलीज़ हो गया है. वर्शन 1.0.1 में ये बातें शामिल हैं.

गड़बड़ियां ठीक की गईं

  • कंपाइलर फ़्लैग में सुधार.

वर्शन 1.0.0

6 मार्च, 2024

androidx.graphics:graphics-path:1.0.0 रिलीज़ हो गया है.

वर्शन 1.0.0-rc01

21 फ़रवरी, 2024

androidx.graphics:graphics-path:1.0.0-rc01 रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • API पर pathIterator की परफ़ॉर्मेंस को बेहतर बनाएं < 34 (Id4629)

वर्शन 1.0.0-beta02

10 जनवरी, 2024

इस रिलीज़ में किए गए सभी बदलाव, लाइब्रेरी का साइज़ कम करने वाले थे. यह नेटिव कोड के अनुमान की वजह से, ज़रूरत से ज़्यादा था.

androidx.graphics:graphics-path:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये तय किए गए अपडेट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • libandroidx.graphics.path.so के साइज़ को 96% कम किया गया. (I71397)
  • libandroidx.graphics.path.so का साइज़ 5% कम करें. (I2da7c)
  • androidx.graphics:graphics-path के नेटिव कॉम्पोनेंट को 43% छोटा किया गया. (I8e40d)

वर्शन 1.0.0-beta01

29 नवंबर, 2023

androidx.graphics:graphics-path:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट मौजूद हैं.

एपीआई में किए गए बदलाव

  • एक्सपेरिमेंटल isAtLeastU() API (Ie9117, b/289269026) के इस्तेमाल हटाए गए

गड़बड़ियां ठीक की गईं

  • इसमें कई सुधार किए गए हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है. साथ ही, इसमें यह भी शामिल है कि लाइब्रेरी को कोनिक से कैसे बचाया जाता है.

वर्शन 1.0.0-alpha02

7 जून, 2023

androidx.graphics:graphics-path:1.0.0-alpha02 रिलीज़ हो गया है. इस वर्शन को हमारी सहायता टीम के तहत बनाया गया है.

नई सुविधाएं

  • इंटरनल प्लैटफ़ॉर्म के वर्शन की जांच से जुड़ी उस समस्या को ठीक कर दिया गया है जिसकी वजह से Android 14 की झलक देखते समय समस्याएं आ रही थीं (वर्शन की जांच नहीं हो पाएगी, लेकिन पिछली रिलीज़ पर काम करने का तरीका, खास तौर पर Android 14 पर ठीक से काम नहीं करता था).

वर्शन 1.0.0-alpha01

22 मार्च, 2023

androidx.graphics:graphics-path:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • इस नई लाइब्रेरी में, नए PathIterator एपीआई के ज़रिए पाथ डेटा से क्वेरी करने की सुविधा है. इस एपीआई का इस्तेमाल करके, कॉलर किसी पाथ ऑब्जेक्ट के सभी सेगमेंट में जाकर, उन सेगमेंट की कार्रवाई और डेटा का पता लगा सकते हैं.
  • लाइब्रेरी में, Android 14 की झलक में उपलब्ध मिलते-जुलते एपीआई इस्तेमाल किए जाते हैं. हालांकि, एपीआई का यह AndroidX वर्शन, एपीआई 21 से पहले के वर्शन पर भी काम करता है.

ग्राफ़िक्स कोर वर्शन 1.0

वर्शन 1.0.1

4 सितंबर, 2024

androidx.graphics:graphics-core:1.0.1 रिलीज़ हो गया है. वर्शन 1.0.1 में ये बातें शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से मेमोरी संसाधन कभी-कभी रिलीज़ नहीं हो पाते.

वर्शन 1.0.0

29 मई, 2024

androidx.graphics:graphics-core:1.0.0 रिलीज़ हो गया है. वर्शन 1.0.0 में ये बातें शामिल हैं.

1.0.0 की मुख्य सुविधाएं

  • ग्राफ़िक्स-कोर लाइब्रेरी की आधिकारिक रूप से स्थिर रिलीज़. इसमें 1.0.0-rc01 से छोटी-मोटी गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है

वर्शन 1.0.0-rc01

17 अप्रैल, 2024

androidx.graphics:graphics-core:1.0.0-rc01 रिलीज़ हो गया है. इस वर्शन को हमारी सहायता टीम के तहत बनाया गया है.

गड़बड़ियां ठीक की गईं

  • Android 14 वाले कुछ Android डिवाइसों पर, CanvasBufferedRendererAPI वाले फ़ाइल डिस्क्रिप्टर के दो बार बंद होने की समस्या को ठीक कर दिया गया है.
  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से FrameBuffer, फ़्रेम बफ़र इंस्टेंस को सही तरीके से नहीं मिटा पाता.

वर्शन 1.0.0-beta01

13 दिसंबर, 2023

androidx.graphics:graphics-core:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट मौजूद हैं.

नई सुविधाएं

  • नया LowLatencyCanvasView एपीआई लॉन्च किया गया, ताकि व्यू हैरारकी में Android के 2d ग्राफ़िक्स एपीआई (कैनवस + पेंट) को रेंडर होने में लगने वाले समय को कम किया जा सके.
  • HardwareBuffer पर हार्डवेयर से तेज़ी से कैनवस रेंडर करने की सुविधा के लिए, CanvasBufferedRenderer एपीआई लॉन्च किया गया. इसका इस्तेमाल यूज़र इंटरफ़ेस के एक हिस्से को बफ़र में ड्रॉ करने के लिए किया जा सकता है, जिसे Bitmap.wrapHardwareBuffer एपीआई का इस्तेमाल करके बिटमैप में बदला जा सकता है.

एपीआई में किए गए बदलाव

  • वैकल्पिक फ़ेंस पैरामीटर शामिल करने के लिए, CanvasBufferRenderer#releaseBuffer एपीआई को अपडेट किया गया. RenderResult#fence कब वापस आता है, यह बताने के लिए दस्तावेज़ों को अपडेट किया गया. (If1ea7)
  • RenderRequest में draw तरीका जोड़ें, ताकि ड्रॉ के अनुरोध शेड्यूल करने के लिए कोरूटीन का फ़ायदा लिया जा सके. ड्रॉ करने के पिछले तरीके का नाम बदलकर, drawAsync कर दिया गया. यह तरीका एक्ज़ीक्यूटर का इस्तेमाल करता था. एक प्रॉपर्टी में isClosed() तरीके को रीफ़ैक्ट किया गया. (I5bff6)
  • CanvasBufferedRenderer.Builder#setBufferFormat (I0f272) पर सीधे मैप करने के लिए, बफ़र फ़ॉर्मैट पैरामीटर को CanvasFrontBufferRenderer में दिखाया गया है
  • HardwareBuffer में हार्डवेयर से तेज़ी से रेंडर होने वाले कैनवस को मैनेज करने के लिए, CanvasBufferedRenderer एपीआई बनाया गया. इससे HardwareBuffers की स्वैपचेन डेप्थ के कॉन्फ़िगरेशन के साथ-साथ, Android Q पर बैकपोर्ट किया गया तरीका लागू होता है. ColorSpace का कॉन्फ़िगरेशन अब भी Android U+ तक ही सीमित है. हालांकि, वर्शन के साथ काम करने से डेवलपर पर कोई कार्रवाई नहीं होती की ओर से. (I9b1d8)
  • फ़्रेम रेट को कंट्रोल करने के लिए, setFrameRate/clearFrameRate एपीआई को SurfaceControlCompat.Transaction में जोड़ें. इससे, बिना किसी रुकावट या डिफ़ॉल्ट ट्रांज़िशन के लिए, बदलाव की रणनीति के साथ फ़्रेम रेट को भी कंट्रोल किया जा सकेगा. (I6045c)
  • Android T के setDataSpace के लिए Android Q के ज़रूरी एपीआई लेवल को कम किया गया. (I59c34)
  • GLFrameBufferRenderer एपीआई में onBufferReleased कॉलबैक जोड़ा गया, ताकि बफ़र (I8a4e2) के न रहने पर भी उपभोक्ताओं को स्टेटस से जुड़ी गड़बड़ी को ठीक करने का मौका मिल सके
  • LowLatencyCanvasView बनाएं. इससे, इंतज़ार का समय कम करने वाले कॉन्टेंट को आसानी से इस्तेमाल किया जा सकता है. यह रेंडर होने में लगने वाले समय को कम कर देता है. साथ ही, इसे व्यू हैरारकी (व्यू और व्यू ग्रुप के लेआउट का क्रम) रेंडरिंग के साथ सिंक किया जाता है. ऐसा करने से, SurfaceView को मैनेज करने से जुड़ी समस्याएं कम हो जाती हैं. ऐसा करने के लिए, SurfaceView इंस्टेंस को इंटरनल तौर पर मैनेज किया जाता है. इस इंस्टेंस को सिंक किए जाने पर और इंतज़ार का समय कम करने के लिए, स्क्रीन पर अनुवाद किया जाता है. (I9253b)
  • CanvasFrontBufferedRenderer एपीआई में कलरस्पेस कॉन्फ़िगरेशन की सुविधा जोड़ी गई. बैक बफ़र किए गए SurfaceControl (I24bd9) को शामिल करने के लिए, मल्टीबफ़र किए गए कॉलबैक अपडेट किए गए

वर्शन 1.0.0-alpha05

6 सितंबर, 2023

androidx.graphics:graphics-core:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये कमियां हैं.

नई सुविधाएं

  • GLFrameBufferRenderer एपीआई लॉन्च किया गया. यह OpenGL डिपेंडेंसी, स्वैप चेन कॉन्फ़िगरेशन, पिक्सल फ़ॉर्मैट, और SurfaceControl कॉन्फ़िगरेशन का कॉम्बिनेशन उपलब्ध कराता है. (Ic775b)

एपीआई में किए गए बदलाव

  • SurfaceHolder#Callbacks से पाइप डाइमेंशन में, अलग-अलग कॉलबैक एपीआई में चौड़ाई और ऊंचाई पैरामीटर जोड़े गए. (I7f9fc)
  • सामने और कई बफ़र की गई लेयर को मिटाने के लिए, साफ़ एपीआई जोड़ा गया है. (Ic1f95)
  • GLFrontBufferedRenderer में इस्तेमाल किए जाने वाले स्वैपचेन के बफ़र टाइप को कॉन्फ़िगर करने की सुविधा जोड़ी गई. (I07a13)
  • GLFrameBufferRenderer, मैक्स बफ़र एंट्री के लिए IntRange एनोटेशन, और setFormat/setUsage के लिए HardwareBufferUsage एनोटेशन के लिए क्रम से HardwareBufferFormart एनोटेशन के लिए kotlin प्रॉपर्टी जोड़ी गई. (Ief89e)
  • रिलीज़ फ़ेंस उपलब्ध कराने के लिए, SurfaceControl लेन-देन के लिए setBuffer एपीआई को अपडेट किया गया. (Ice1bb)
  • डेटा स्पेस को कॉन्फ़िगर करने और स्क्रीन की रोशनी बढ़ाने की सीमा सेट करने के लिए, SurfaceControlCompat.Transaction एपीआई जोड़ा गया. (Ic378d)

वर्शन 1.0.0-alpha04

7 जून, 2023

androidx.graphics:graphics-core:1.0.0-alpha04 रिलीज़ हो गया है. वर्शन 1.0.0-alpha04 में ये कमियां हैं.

नई सुविधाएं

  • CanvasFrontBufferedRenderer लॉन्च किया गया, ताकि OpenGL को लागू करने के साथ-साथ android.graphics.Canvas API का इस्तेमाल करके, इंतज़ार का समय कम करने वाले ग्राफ़िक के साथ काम किया जा सके

एपीआई में किए गए बदलाव

  • SurfaceControlCompat.Transaction#setBuffer एपीआई को अपडेट किया गया, ताकि शून्य वाले HardwareBuffer इंस्टेंस से जुड़े प्लैटफ़ॉर्म एपीआई (I173d7) का डुप्लीकेट वर्शन बनाया जा सके
  • डबल बफ़र की गई रेंडरिंग को रेफ़र करने वाले तरीकों के नाम को मल्टी बफ़र में बदल दें. ऐसा इसलिए, क्योंकि बैकिंग स्वैपचेन में दो से ज़्यादा बफ़र हो सकते हैं. (I830d7)
  • CanvasFrontBufferedRenderer API बनाएं, ताकि आप Canvas API का इस्तेमाल करके, फ़्रंट बफ़र किए गए रेंडरिंग सिस्टम का इस्तेमाल कर सकें. (Ibfc29)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से GLFrontBufferedRenderer, उससे जुड़ी गतिविधि को फिर से शुरू करने के बाद कॉन्टेंट रेंडर नहीं करता था.
  • सामने के बफ़र किए गए कॉन्टेंट को समय से पहले हटाने की समस्या को हल कर दिया गया है.
  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से कम इंतज़ार वाले ग्राफ़िक एपीआई रिलीज़ होने के बाद, SurfaceHolder.Callbacks को हटाया नहीं जा सकता था.

वर्शन 1.0.0-alpha03

22 मार्च, 2023

androidx.graphics:graphics-core:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये कमियां हैं.

एपीआई में किए गए बदलाव

  • GLFrontBufferedRenderer कॉलबैक लागू करने की प्रोसेस को अपडेट किया गया. इससे ऐसा BufferInfo ऑब्जेक्ट दिया गया जिसमें बफ़र की चौड़ाई/ऊंचाई के साथ-साथ फ़्रेम बफ़र आइडेंटिफ़ायर भी है. इसका इस्तेमाल, इंटरमीडिएट स्क्रैच बफ़र में रेंडर करने के बाद, ओरिजनल डेस्टिनेशन को फिर से टारगेट करने के लिए किया जा सकता है. (I7fe20)
  • SyncFenceCompat पर SyncFence बनाने के तरीके को स्टैटिक फ़ैक्ट्री तरीके से बनाया गया.
  • SyncFence बनाने के लिए SyncFenceCompat फ़ैक्ट्री तरीके के हिसाब से, eglDupNativeFenceFDANDROID के लिए सार्वजनिक तौर पर काम करने का तरीका हटाया गया. इससे यह पक्का होता है कि एपीआई लेवल पर ध्यान दिए बिना, सभी एपीआई प्लैटफ़ॉर्म को सही SyncFence लागू किया जाए. (I849bb)
  • FrameBufferRenderer और SyncStrategy के लिए दस्तावेज़ जोड़े गए.
    • FrameBufferRenderer + FrameBuffer + FrameBufferPool को androidx.graphics.opengl पैकेज में भेजा गया
    • SyncStrategy को androidx.graphics.opengl पैकेज में ले जाया गया
    • RenderCallback#onDraw दस्तावेज़ अपडेट किए गए
    • RenderCallback#obtainFrameBuffer का अपडेट किया गया दस्तावेज़ जो कि एपीआई को लागू करने वाले की जानकारी FrameBuffer.close को कॉल करने के लिए ज़िम्मेदार है
    • onDrawComplete को अपडेट किया गया, ताकि यह बताया जा सके कि कॉन्टेंट दिखाने की ज़िम्मेदारी उपभोक्ताओं की है
    • फ़्रेमवर्क के डुप्लीकेट वर्शन बनाने के लिए, SyncFence कंपैटबिलिटी इंटरफ़ेस/क्लास को androidx.hardware पैकेज में ले जाया गया
    • SyncFence एपीआई का नाम बदलकर SyncFenceV19 किया गया. साथ ही, इस्तेमाल को SyncFenceCompat में शामिल करने के लिए, इसे निजी बनाया गया. ऐसा इसलिए किया गया, ताकि जहां भी मुमकिन हो, फ़्रेमवर्क के SyncFence एपीआई का इस्तेमाल किया जा सके. (I5149c)
  • GLFrontBufferedRenderer#cancel और GLFrontBufferedRenderer#execute तरीके जोड़े गए. पहला तरीका, हथेली के अस्वीकार होने से जुड़ी स्थितियों में काम आता है. वहां फ़्रंट बफ़र को रेंडर करने की प्रोसेस रद्द कर दी जानी चाहिए और सामने वाले बफ़र को छिपाना चाहिए. बाद वाली तकनीक का इस्तेमाल तब किया जा सकता है, जब रेंडर को शेड्यूल किए बिना जीएल थ्रेड के ऑब्जेक्ट में बदलाव किया जा सके. (If0b7f)
  • सीधे डबल बफ़र की गई लेयर में रेंडर करने के लिए एपीआई जोड़ें. इसकी मदद से, वीडियो को फिर से रेंडर करने के बाद सीन को फिर से रेंडर किया जा सकता है. साथ ही, ग्राहकों को यह तय करने का मौका मिलता है कि जिस सीन को रेंडर करना है उसके हिसाब से, फ़्रंट बफ़र रेंडरिंग का इस्तेमाल डाइनैमिक तरीके से कब किया जाए. (Ied56c)
  • SurfaceControlCompat.Builder में नया एपीआई जोड़ा गया, ताकि SurfaceView से मौजूदा तरीके के अलावा, किसी दूसरे SurfaceControl इंस्टेंस से पैरंट SurfaceControl को कॉन्फ़िगर करने में मदद मिल सके. (I1d1b6)
  • काम न करने वाले छिपे हुए फ़ंक्शन की ज़्यादा रिटर्न टाइप शून्यता (Ibf7b0)
  • यह क्वेरी करने के लिए कि Android डिवाइस पर EGLClientBuffer ऑब्जेक्ट में HardwareBuffer इंस्टेंस इंपोर्ट करने की सुविधा है या नहीं, यह क्वेरी करने के लिए EGL_ANDROID_get_native_client_buffer एक्सटेंशन कॉन्सटेंट जोड़ा गया. इसे EGLImage इंस्टेंस के तौर पर इस्तेमाल किया जा सकता है. (Iad767)
  • @JvmDefaultWithCompatibility एनोटेशन जोड़ा जा रहा है (I8f206)

वर्शन 1.0.0-alpha02

9 नवंबर, 2022

androidx.graphics:graphics-core:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये कमियां हैं.

एपीआई में किए गए बदलाव

  • Android S (I0a035) में पेश किए गए addTransactionCommitListener के लिए, RequiresApi एनोटेशन के मौजूद न होने की समस्या को ठीक कर दिया गया है
  • onDraw<Front/Double> बफ़र कॉलबैक को अपडेट किया गया, ताकि ट्रांसफ़ॉर्म मैट्रिक्स उपलब्ध कराया जा सके. उपभोक्ता मौजूदा बफ़र की चौड़ाई/ऊंचाई के साथ-साथ अपने वर्टेक्स शेडर को पास कर सकें. अपने OpenGL रेंडरिंग कोड को ठीक तरह से बदलने के लिए, इन पैरामीटर का इस्तेमाल करना उपभोक्ताओं की ज़िम्मेदारी है. (I82f9e)

गड़बड़ियां ठीक की गईं

  • SurfaceControl लेन-देन जारी करने से पहले, बफ़र को पहले से रोटेट करने की सुविधा की मदद से, ग्राफ़िक के इंतज़ार का समय बेहतर किया गया है.
  • गड़बड़ी के लॉग में 300d (EGL_BAD_SURFACE) वाली गड़बड़ी दिखने की समस्या को ठीक कर दिया गया है.
  • उस समस्या को हल कर दिया गया है जिसमें इस्तेमाल की गई संबंधित गतिविधि के फिर से शुरू होने के बाद, GLFrontBufferedRenderer के अमान्य होने की समस्या हल हो गई थी.
  • एम्युलेटर और ChromeOS डिवाइसों के लिए बेहतर सहायता.
  • सामने की बफ़र की गई लेयर का पता न चलने की समस्या को हल कर दिया गया है.

वर्शन 1.0.0-alpha01

24 अक्टूबर, 2022

androidx.graphics:graphics-core:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये कमियां हैं.

नई सुविधाएं

  • ग्राफ़िक कोर AndroidX लाइब्रेरी की शुरुआती रिलीज़. इसमें स्टाइलस इनपुट जैसे काम करने के इंतज़ार के समय को कम करने के लिए एपीआई शामिल हैं. इसमें OpenGL के इस्तेमाल के लिए, कुछ हेल्पर एपीआई की जानकारी भी दी गई है.

एपीआई में किए गए बदलाव

  • पेश है GLFrontBufferedRenderer, ताकि फ़्रंट और मल्टी-बफ़र वाली रेंडरिंग में मदद मिल सके. इससे, रेंडर होने में लगने वाले समय और अच्छी क्वालिटी का रेंडर होने में कम समय लग सकता है.
  • यह SurfaceView, TextureView, और अन्य प्लैटफ़ॉर्म जैसे अलग-अलग प्लैटफ़ॉर्म के लिए, OpenGL रेंडरिंग में मदद करने के लिए, GLRenderer API की जानकारी देता है.