گرافیک
این جدول تمام مصنوعات موجود در گروه androidx.graphics
را فهرست می کند.
مصنوع | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
هسته گرافیکی | 1.0.2 | - | - | - |
مسیر گرافیکی | 1.0.1 | - | - | - |
گرافیک-اشکال | 1.0.1 | - | - | 1.1.0-alpha01 |
اعلام وابستگی ها
برای افزودن وابستگی به گرافیک، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
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" }
کاتلین
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.1
نسخه 1.1.0-alpha01
11 دسامبر 2024
androidx.graphics:graphics-*:1.1.0-alpha01
منتشر شد. نسخه 1.1.0-alpha01 حاوی این تعهدات است.
ویژگی های جدید
- نسخه ی نمایشی اصلی را به یک ویرایشگر شکل عمومی تغییر داد. این به شما امکان می دهد اشکال را از یک مسیر svg وارد کنید، در صورت عدم موفقیت در فرآیند خودکار، ویژگی های شناسایی شده را به صورت دستی ویرایش کنید، و نتیجه را به کدی صادر کنید که می تواند در کد تولید استفاده شود. ( I1ac13 )
- اندازهگیریهای زاویه را برای پیشرفت طرحریزی شکل با اندازهگیریهای طول منحنی جایگزین کنید، این اجازه میدهد از اشکال پیچیدهتر برای شکلدهی استفاده شود. ( I75478 ), I390dd
- الگوریتم نگاشت ویژگی بهبود یافته است، بنابراین شکلهای بیشتر باید طبیعیتر به نظر برسند. ( I83287 )
تغییرات API
- وارد کردن مسیر SVG و سریالساز ویژگی را اضافه کنید. جریان معمول این است:
- از
SvgPathParser.parseFeatures()
جدید برای تبدیل یک مسیر svg (مقدار ویژگیd
در عنصرpath
یک svg) بهList<Feature>
استفاده کنید. - می توان آن را تغییر داد، سپس با
FeatureSerializer.serialize()
به رشته ای تبدیل شد. - رشته به دست آمده را می توان در کد تولید استفاده کرد و آن را با
FeatureSerializer.parse()
وارد کرد. - توجه داشته باشید که مراحل 1 و 2 یک بار انجام می شود و با برنامه جدید قابل انجام است. کد تولید فقط باید مرحله 3 را انجام دهد. ( I9bd00 , b/371196190 , ( Ic3842 ), ( If68ed ), ( I10251 )
- از
- ویژگی های چند ضلعی و انواع ویژگی ها را در معرض دید قرار دهید. اکنون میتوان با سازنده پایهای که
List<Features>
را میگیرد،RoundedPolygons
عمومیتر ایجاد کرد. ویژگیها عمدتاً فهرستی از منحنیهای مکعبی هستند، اما برای کمک به تطبیق الگوریتم مورف بین شکلهای شروع و پایان (گوشههای محدب به گوشههای محدب و گوشههای مقعر به گوشههای مقعر نگاشت میشوند) برچسبگذاری شدهاند. ( I61e76 )، ( I1fc5c ) - پشتیبانی از
watchosDeviceArm64
KMP target و target kotlin 1.9 را اضافه می کند. ( ICf15d , b/364652024 )
رفع اشکال
- هنگامی که آخرین ویژگی خالی بود، لبهها ثابت شد. ( I390dd )
- ایجاد
RoundedPolygon
را قوی تر کنید. ( Ib862c , b/360888486 ) - رفع اشکال در مقداردهی اولیه
RoundedPolygon
. ( I83ddb ) - برای تخمین مرکز چندضلعی، خطای الگوریتم را برطرف کنید. ( Ida147 )
اشکال گرافیکی نسخه 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 حاوی این commit ها است.
نسخه 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 حاوی این تعهدات است.
تغییرات API
- اجازه دهید شکل ها از قبل چرخانده شوند تا از نقطه دیگری شروع شوند. این تغییر به اشکال
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 حاوی این commit ها است.
ویژگی های جدید
- این کتابخانه اکنون توابع جدید
pill()
وpillStar()
را برای ایجاد آسان این اشکال گرد/ستاره ارائه می دهد. همچنین API های جدیدی برای محاسبه مرزهای دقیق مورد نیاز برای یک شکل وجود دارد (کروان های قبلی فقط یک تخمین بر اساس لنگر منحنی Bezier و نقاط کنترل زیرین بودند)، و همچنین حداکثر کران ممکن، که می تواند برای تعیین اندازه مفید باشد. ظرفی که آن را نگه میدارد اگر درون آن ظرف بچرخد. ( I71827 )
تغییرات API
- اکنون گزینه های بیشتری برای بازیابی کران های دقیق و حداکثر. ( 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 حاوی این commit ها است.
ویژگی های جدید
- این نسخه شامل چندین تغییر API و همچنین رفع اشکال است.
- بسیاری از تغییرات API کتابخانه Shapes را KMP پسند می کند. این کار تماس از طریق کدهای غیر اندرویدی (مانند کد نویسندگی ناشناس Android) را آسانتر میکند. به عنوان مثال، هیچ نوع اندرویدی در API وجود ندارد، مانند انواع PointF، Matrix و Path قبلی.
- همچنین تغییرات متعددی در APIها و پیادهسازی به دلایل عملکرد، بهویژه برای به حداقل رساندن تخصیص (و جمعآوری) اشیاء ایجاد شد. به عنوان مثال، حرکت از PointF به جدا کردن پارامترهای Float از تخصیص بسیاری از ساختارهای PointF موقت برای نگهداری آن رئوس جلوگیری می کند.
تغییرات API
-
Morph.asMutableCubics
با تابعی برای تکرار رویMutableCubics
جایگزین کرد. رابط عملکردیPointTransformer
تغییر کرد، اکنون مختصات x و y یکPoint
می گیرد و یکTransformedResult
(که با مختصات x و y تبدیل شده ساخته شده است) را برمی گرداند ( I6719e ) - سازنده
Cubic
عمومی را حذف کرد و آن را به یک عملکرد کارخانه تبدیل کرد. ( I409ce ) - افزودن APIهای تبدیل و ترسیم مخصوص اندروید ( I079f6 ، b/292289543 )
- حذف وابستگی های اندروید ( 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 حاوی این commit ها است.
تغییرات API
- تابع جدید
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 حاوی این commit ها است.
تغییرات API
- سوپرکلاس Polygon با زیر کلاس خود
RoundedPolygon
ادغام شد. همه چند ضلعی ها اکنون [اختیاری] چند ضلعی گرد هستند. - تابع ستاره (که همچنان مانند قبل یک
RoundedPolygon
را برمی گرداند) اکنون به جای پارامترinnerRadiusRatio
قبلی، یک مقدارinnerRadius
می گیرد. این در همان واحدهای پارامتر شعاع موجود است و کارها را سادهتر و سازگارتر میکند. همچنین، پارامترnumOuterVertices
بهnumVerticesPerRadius
تغییر نام داد تا مشخص شود که همان عدد برای هر دو شعاع داخلی و خارجی اعمال می شود. -
CornerRounding.radius
قبلاً نسبت به اندازه چند ضلعی مستند شده بود، اما یک مقدار مطلق بود (و باید باشد) نه نسبی. اسناد بهروزرسانی شدند و حاشیهنویسی که آن را به حداکثر مقدار 1.0 محدود میکرد، ثابت شد.
نسخه 1.0.0-alpha01
5 آوریل 2023
Graphics-Shapes یک کتابخانه جدید است که امکان ایجاد و ارائه آسان اشکال چند ضلعی گرد و همچنین شکلگیری (انیمیشن) ساده و خودکار بین اشکال مختلف را فراهم میکند.
androidx.graphics:graphics-shapes:1.0.0-alpha01
منتشر شد. این نسخه از یک شعبه داخلی منتشر شد.
ویژگی های جدید
- از Polygon API برای ایجاد چند ضلعی های منظم و ستاره ای با تعداد رئوس دلخواه استفاده کنید.
- از پارامترهای اختیاری
CornerRounding
برای تعیین شعاع گرد و پارامترهای صاف کردن گوشه ها استفاده کنید که در نتیجه اشکال چند ضلعی با گوشه های گرد ایجاد می شود. - از
Morph(Polygon, Polygon)
API جدید برای محاسبه خودکار یک شکل "morph" استفاده کنید که پیشرفت آن می تواند از 0 تا 1 تنظیم شود تا بین شکل های شروع و پایان متحرک شود. این پیشرفت را در طول زمان متحرک کنید و نتیجه را روی هر فریم بکشید تا یک انیمیشن صاف بین این اشکال گرد جدید ایجاد کنید.
مسیر گرافیکی نسخه 1.0
نسخه 1.0.1
1 مه 2024
androidx.graphics:graphics-path:1.0.1
منتشر شد. نسخه 1.0.1 شامل این commit ها است.
رفع اشکال
- بهبود پرچم های کامپایلر.
نسخه 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 حاوی این commit ها است.
رفع اشکال
- بهبود عملکرد PathIterator در API <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 حاوی این تعهدات است.
تغییرات API
- کاربردهای حذف شده آزمایشی
isAtLeastU()
API ( Ie9117 , b/289269026 )
رفع اشکال
- اصلاحات مختلف و بهبود عملکرد، از جمله نحوه برخورد کتابخانه با مخروط ها.
نسخه 1.0.0-alpha02
7 ژوئن 2023
androidx.graphics:graphics-path:1.0.0-alpha02
منتشر شد. این نسخه در یک شعبه داخلی توسعه یافته است.
ویژگی های جدید
- رفع مشکل بررسی نسخه داخلی پلتفرم که باعث ایجاد مشکل در اجرای پیشنمایشهای اندروید 14 میشد (بررسی نسخه ناموفق بود، اما مکانیسم انجام کارها در نسخههای قبلی بهویژه در اندروید 14 به درستی کار نمیکند).
نسخه 1.0.0-alpha01
22 مارس 2023
androidx.graphics:graphics-path:1.0.0-alpha01
منتشر شد. نسخه 1.0.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- این کتابخانه جدید امکان پرس و جو از داده های Path را از طریق
PathIterator
API جدید فراهم می کند. با استفاده از این API، تماسگیرندگان میتوانند از طریق تمام بخشهای یک شی Path، عملیات و دادههای آن بخشها را تعیین کنند. - این کتابخانه از APIهای مشابه معرفی شده در پیشنمایش Android 14 استفاده میکند، اما این نسخه AndroidX از API روی نسخههای بازگشت به API 21 نیز کار میکند.
هسته گرافیکی نسخه 1.0
نسخه 1.0.2
16 اکتبر 2024
androidx.graphics:graphics-core:1.0.2
منتشر شد. نسخه 1.0.2 حاوی این commit ها است.
رفع اشکال
- مشکلی که در آن نمونههای
SurfaceControl
حتی پس از انتشار هنوز توسط ترکیبکننده سیستم مدیریت میشوند، برطرف شد. - مشکلی که در آن نمونه
HardwareBuffer
ارائه شده در حال حاضر پس از حذف وابستگیهای تاخیر کم منتشر نمیشود برطرف شد. - مشکل سوسو زدن در برخی از دستگاههای Android 14+ که از پرچم استفاده از بافر جلو پشتیبانی نمیکردند، رفع شد
نسخه 1.0.1
4 سپتامبر 2024
androidx.graphics:graphics-core:1.0.1
منتشر شد. نسخه 1.0.1 شامل این commit ها است.
رفع اشکال
- مشکلی که در آن منابع حافظه گهگاهی آزاد نمی شدند برطرف شد.
نسخه 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
منتشر شد. این نسخه در یک شعبه داخلی توسعه یافته است.
رفع اشکال
- رفع مشکلی که منجر به بسته شدن مضاعف توصیفگرهای فایل با
CanvasBufferedRendererAPI
با دستگاههای اندرویدی خاص دارای Android 14 میشود. - مشکلی که در آن
FrameBuffer
به درستی نمونه های فریم بافر را حذف نمی کرد، برطرف شد.
نسخه 1.0.0-beta01
13 دسامبر 2023
androidx.graphics:graphics-core:1.0.0-beta01
منتشر شد. نسخه 1.0.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
- یک API
LowLatencyCanvasView
جدید برای پشتیبانی از رندرینگ با تأخیر کم با APIهای گرافیکی ۲ بعدی اندروید (Canvas + Paint) در سلسله مراتب View معرفی کرد. -
CanvasBufferedRenderer
API را برای پشتیبانی از ارائه سریع بوم سخت افزاری بهHardwareBuffer
معرفی کرد. این می تواند برای ترسیم بخشی از یک رابط کاربری به یک بافر استفاده شود که می تواند با استفاده ازBitmap.wrapHardwareBuffer
API به Bitmap تبدیل شود.
تغییرات API
-
CanvasBufferRenderer#releaseBuffer
API بهروزرسانی شد تا یک پارامتر حصار اختیاری داشته باشد. اسناد به روز شده برای توصیف زمان بازگشتRenderResult#fence
. ( If1ea7 ) - روش
draw
را بهRenderRequest
اضافه کنید تا از اهرمهای مشترک برای زمانبندی درخواستهای قرعهکشی پشتیبانی کنید. روش ترسیم قبلی که یک اجرا کننده را مصرف می کرد بهdrawAsync
تغییر نام داد. متدisClosed()
را به یک ویژگی تغییر داد. ( I5bff6 ) - پارامتر فرمت بافر در معرض نمایش
CanvasFrontBufferRenderer
برای نگاشت مستقیم بهCanvasBufferedRenderer.Builder#setBufferFormat
( I0f272 ) -
CanvasBufferedRenderer
API را برای مدیریت رندر بوم تسریع شده سخت افزاری درHardwareBuffer
ایجاد کرد. این یک پیادهسازی پشتیبانشده برای Android Q را در کنار پیکربندی یک عمق swapchain ازHardwareBuffers
ارائه میکند. پیکربندیColorSpace
هنوز به Android U+ محدود است، اما پیاده سازی compat رفتار بدون عملیات را از طرف توسعه دهندگان ارائه می دهد. ( I9b1d8 ) - APIهای
setFrameRate
/clearFrameRate
را بهSurfaceControlCompat.Transaction
اضافه کنید تا نرخ فریم را در کنار استراتژی تغییر برای انتقال بدون درز یا پیش فرض کنترل کنید. ( I6045c ) - سطح API مورد نیاز برای
setDataSpace
به Android Q از Android T کاهش یافت. ( I59c34 ) - پاسخ به تماس
onBufferReleased
بهGLFrameBufferRenderer
API اضافه شد تا به مصرف کنندگان این فرصت را بدهد تا زمانی که بافر دیگر ارائه نمی شود، وضعیت را پاک کنند ( I8a4e2 ) -
LowLatencyCanvasView
برای پشتیبانی از یک مورد استفاده ساده از رندر محتوا با تأخیر کم که با نمایش سلسله مراتبی همگام می شود، ایجاد کنید. این امر پیچیدگیهای مرتبط با مدیریتSurfaceView
را با مدیریت داخلی نمونهSurfaceView
کاهش میدهد که به ترتیب برای رندرهای همگام و با تأخیر کم، خاموش/روشن صفحه ترجمه میشود. ( I9253b ) - پشتیبانی از پیکربندی colorspace به
CanvasFrontBufferedRenderer
API اضافه شد. تماسهای چند بافری بهروزرسانی شد تاSurfaceControl
بافر پشتی ( I24bd9 ) را نیز شامل شود.
نسخه 1.0.0-alpha05
6 سپتامبر 2023
androidx.graphics:graphics-core:1.0.0-alpha05
منتشر شد. نسخه 1.0.0-alpha05 حاوی این commit ها است.
ویژگی های جدید
-
GLFrameBufferRenderer
API را معرفی کرد. این ترکیبی از وابستگی های OpenGL، پیکربندی زنجیره تعویض، فرمت های پیکسل و پیکربندیSurfaceControl
را فراهم می کند. ( IC775b )
تغییرات API
- پارامترهای عرض + ارتفاع به APIهای پاسخگوی تماس مختلف به ابعاد لوله از
SurfaceHolder#Callbacks
اضافه شده است. ( I7f9fc ) - API شفاف برای پاک کردن لایه های جلویی و چند بافری اضافه شده است. ( IC1f95 )
- پشتیبانی برای پیکربندی نوع بافر زیربنایی swapchains مورد استفاده در
GLFrontBufferedRenderer
اضافه شده است. ( I07a13 ) - ویژگیهای kotlin برای دریافتکنندهها در
GLFrameBufferRenderer
، حاشیهنویسیIntRange
برای حداکثر ورودیهای بافر، و حاشیهنویسیHardwareBufferFormart
وHardwareBufferUsage
به ترتیب برایsetFormat
/setUsage
اضافه شد. ( Ief89e ) - API
setBuffer
را در تراکنشهایSurfaceControl
بهروزرسانی کرد تا یک حصار آزاد را ارائه کند. ( Ice1bb ) - APIهای
SurfaceControlCompat.Transaction
برای پیکربندی فضای داده و همچنین تنظیم محدوده روشنایی گسترده اضافه شده است. ( IC378d )
نسخه 1.0.0-alpha04
7 ژوئن 2023
androidx.graphics:graphics-core:1.0.0-alpha04
منتشر شد. نسخه 1.0.0-alpha04 حاوی این commit ها است.
ویژگی های جدید
-
CanvasFrontBufferedRenderer
برای پشتیبانی از گرافیکهای با تأخیر کم با استفاده از APIandroid.graphics.Canvas
در کنار پیادهسازی OpenGL موجود معرفی کرد.
تغییرات API
-
SurfaceControlCompat.Transaction#setBuffer
API بهروزرسانی شد تا به نمونههایHardwareBuffer
nullable اجازه دهد تا API پلتفرم مربوطه را منعکس کنند ( I173d7 ) - تغییر نام روشهایی که به رندر Double Buffered به Multi Buffered اشاره میکنند، زیرا زنجیره مبادله پشتیبان ممکن است بیش از 2 بافر داشته باشد. ( I830d7 )
-
CanvasFrontBufferedRenderer
API را ایجاد کنید تا 3ps را فعال کنید تا با استفاده از Canvas API از یک سیستم رندر بافر جلویی استفاده کنید. ( IBfc29 )
رفع اشکال
- مشکلی که در آن
GLFrontBufferedRenderer
محتوا را پس از ازسرگیری فعالیت مربوطه ارائه نمیکرد، برطرف شد. - مشکل پاکسازی پیش از موعد محتوای بافر جلویی برطرف شد.
- رفع مشکل عدم حذف
SurfaceHolder.Callbacks
پس از انتشار APIهای گرافیکی با تأخیر کم.
نسخه 1.0.0-alpha03
22 مارس 2023
androidx.graphics:graphics-core:1.0.0-alpha03
منتشر شد. نسخه 1.0.0-alpha03 حاوی این commit ها است.
تغییرات API
- اجرای فراخوانی
GLFrontBufferedRenderer
را بهروزرسانی کرد تا شیBufferInfo
حاوی عرض/ارتفاع بافر به همراه شناسه بافر فریم را ارائه دهد که میتواند برای هدفگیری مجدد مقصد اصلی پس از ارائه به یک بافر خراش میانی استفاده شود. ( I7fe20 ) - ایجاد
SyncFence
تلفیقی به روش کارخانه ایستا درSyncFenceCompat
. - روش سازگاری عمومی برای
eglDupNativeFenceFDANDROID
به نفع روش کارخانهSyncFenceCompat
برای ایجاد SyncFence حذف شد. این برای اطمینان از اینکه تمام سطوح API بدون در نظر گرفتن سطح API، اجرای صحیحSyncFence
دریافت می کنند. ( I849bb ) - اسناد اضافه شده برای
FrameBufferRenderer
وSyncStrategy
.-
FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
به بستهandroidx.graphics.opengl
منتقل شد -
SyncStrategy
به بستهandroidx.graphics.opengl
منتقل شد -
RenderCallback#onDraw
اسناد بهروزرسانی شد - اسناد بهروزرسانی شده
RenderCallback#obtainFrameBuffer
که پیادهکننده API مسئول فراخوانیFrameBuffer.close
است. -
onDrawComplete
به روز شد تا نشان دهد مصرف کنندگان مسئول ارسال محتویات برای نمایش هستند - رابطها/کلاسهای سازگاری
SyncFence
به بستهandroidx.hardware
منتقل شد تا چارچوب را منعکس کند. -
SyncFence
API بهSyncFenceV19
تغییر نام داد و خصوصی شد تا کاربردها را درSyncFenceCompat
ادغام کند که در هر کجا که ممکن است ازSyncFence
API چارچوب استفاده می کند. ( I5149c )
-
- متدهای
GLFrontBufferedRenderer#cancel
وGLFrontBufferedRenderer#execute
اضافه شد. اولی در سناریوهای رد کف دست مفید است که در آن رندر به بافر جلویی باید لغو شود و بافر جلویی پنهان شود. دومی در سناریوها برای دستکاری اشیاء روی رشته GL بدون نیاز به برنامه ریزی رندر مفید است. ( If0b7f ) - API را برای رندر مستقیم به لایه دو بافر اضافه کنید. این به رندر مجدد یک صحنه پس از رزومه کمک می کند و همچنین به مصرف کنندگان فرصتی می دهد تا به طور انتخابی تعیین کنند که چه زمانی از رندر بافر جلو به صورت پویا بر اساس صحنه مورد نظر برای رندر استفاده کنند. ( Ied56c )
- API جدیدی به
SurfaceControlCompat.Builder
اضافه شد تا از پیکربندیSurfaceControl
والد از یک نمونه دیگرSurfaceControl
علاوه بر مکانیسم موجود ازSurfaceView
پشتیبانی کند. ( I1d1b6 ) - تهی پذیری بیشتر نوع بازگشت توابع منسوخ-مخفی ( Ibf7b0 )
- ثابت پسوند
EGL_ANDROID_get_native_client_buffer
اضافه شد تا بپرسید آیا دستگاه Android از وارد کردن نمونههایHardwareBuffer
به اشیاءEGLClientBuffer
که میتوانند بهعنوان نمونهEGLImage
مصرف شوند، پشتیبانی میکند یا خیر، اضافه شد. ( Iad767 ) - افزودن حاشیه نویسی
@JvmDefaultWithCompatibility
( I8f206 )
نسخه 1.0.0-alpha02
9 نوامبر 2022
androidx.graphics:graphics-core:1.0.0-alpha02
منتشر شد. نسخه 1.0.0-alpha02 حاوی این commit ها است.
تغییرات API
- رفع حاشیه نویسی
RequiresApi
برایaddTransactionCommitListener
که در Android S معرفی شده بود ( I0a035 ) - به روز رسانی
onDraw<Front/Double>
Callbacks بافر برای ارائه یک ماتریس تبدیل که مصرف کنندگان می توانند علاوه بر عرض/ارتفاع بافر فعلی به سایه زن های راس خود ارسال کنند. مصرف کنندگان مسئول استفاده از این پارامترها برای پیش چرخش صحیح کد رندر 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 حاوی این commit ها است.
ویژگی های جدید
- انتشار اولیه کتابخانه هسته گرافیکی AndroidX. این شامل APIهایی برای پشتیبانی از موارد استفاده با تأخیر کم مانند ورودی قلم است. این همچنین برخی از API های کمکی را برای استفاده از OpenGL معرفی می کند.
تغییرات API
-
GLFrontBufferedRenderer
برای کمک به رندر جلویی و چند بافری برای دستیابی به تاخیر کم و خروجی رندر با کیفیت بالا معرفی می کند. -
GLRenderer
API را برای کمک به رندر OpenGL برای ارائه دهندگان مختلف Surface مانندSurfaceView
،TextureView
و دیگران معرفی می کند.