ग्राफ़िक्स
इस टेबल में, androidx.graphics
ग्रुप के सभी आर्टफ़ैक्ट शामिल हैं.
सह-प्रॉडक्ट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
ग्राफ़िक्स-कोर | 1.0.1 | - | - | - |
ग्राफ़िक्स-पाथ | 1.0.1 | - | - | - |
ग्राफ़िक के आकार | 1.0.1 | - | - | - |
डिपेंडेंसी तय करना
ग्राफ़िक्स पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट. Google की Maven रिपॉज़िटरी पढ़ें हमारा वीडियो देखें.
उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle
फ़ाइल में ज़रूरत है
आपका ऐप्लिकेशन या मॉड्यूल:
Groovy
dependencies { implementation "androidx.graphics:graphics-core:1.0.2" 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.2") 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 की जानकारी देता है.