גרפיקה

  
ניצול היתרונות הגרפיים בכמה גרסאות של פלטפורמת Android

בטבלה הזו מפורטים כל פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) בקבוצה androidx.graphics.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה מועמד לפרסום גרסת בטא גרסת אלפא
ליבה גרפית 1.0.1 - - -
נתיב גרפיקה 1.0.1 - - -
צורות גרפיות 1.0.1 - - -
הספרייה הזו עודכנה לאחרונה ב-4 בספטמבר 2024

הצהרה על יחסי תלות

כדי להוסיף תלות בגרפיקה, עליך להוסיף את מאגר Google Maven פרויקט. למאגר Maven של Google אפשר לקבל מידע נוסף.

מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle בשביל האפליקציה או המודול שלך:

Groovy

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")
}

למידע נוסף על יחסי תלות, אפשר לעיין במאמר הוספת יחסי תלות של build.

משוב

המשוב שלך עוזר לנו לשפר את Jetpack. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

אין נתוני גרסה של פריט המידע הזה שנוצר בתהליך הפיתוח (Artifact).

צורות גרפיקה גרסה 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 כוללת את ההתחייבויות האלה.

שינויים ב-API

  • אפשר לסובב צורות מראש כדי להתחיל בנקודה אחרת. השינוי הזה מאפשר לצורות להתחיל את העקומות שלהם מנקודה שאינה ברירת מחדל במתחם של pillStar. פעולה זו יכולה להיות שימושית כאשר מוסיפים אנימציה של הנתיב של הצורה, כדי להתחיל לשרטט ממיקום ספציפי בקו מתאר של הצורה. (Ifbb4d, b/324303807)
  • נוספו פונקציות calculateBounds() לפורמט 'מורפים', שמקבילות לאותן פונקציות ב-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(), כדי ליצור בקלות את הצורות המעוגלות/המסומנות בכוכב. קיימים גם ממשקי API חדשים לחישוב הגבולות המדויקים שדרושים לצורה (הגבולות הקודמים היו רק הערכה שמבוססת על נקודות העוגן ונקודות הבקרה של עקומת בזייה הבסיסית), וכן הגבולות המקסימליים האפשריים, כך שאפשר לקבוע את גודל המכל שבו הוא יחזיק אותו אם הוא יסובב אותו בתוך המכל. (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 מכילה את התחייבויות אלה.

תכונות חדשות

  • הגרסה הזו כוללת מספר שינויים ב-API וגם תיקוני באגים.
  • רבים מהשינויים ב-API הופכים את ספריית הצורות לידידותית ל-KMP. כך קל יותר לבצע שיחות מקוד שלא שייך ל-Android (כמו קוד לכתיבה ללא Android). לדוגמה, אין סוגי Android ב-API, כמו סוגי PointF, מטריצה ונתיב הקודמים.
  • בוצעו גם כמה שינויים בממשקי ה-API ובהטמעה כדי לשפר את הביצועים, במיוחד כדי לצמצם את ההקצאות (והאיסוף) של האובייקטים. לדוגמה, המעבר מ-PointF לפרמטרים נפרדים של Float מונע את ההקצאה של מבני PointF זמניים רבים לשמירת הקודקודים האלה.

שינויים ב-API

  • הפונקציה Morph.asMutableCubics הוחלפה בפונקציה כדי לבצע איטרציה עם MutableCubics. הממשק הפונקציונלי של PointTransformer השתנה. עכשיו הוא מקבל את הקואורדינטות של צירי x ו-y של Point ומחזיר את הערך TransformedResult (שנבנה עם קואורדינטות x ו-y שעברו שינוי) (I6719e)
  • הסרת ה-constructor הציבורי של Cubic והפכת אותו לפונקציה של היצרן. (I409ce)
  • הוספת ממשקי API ספציפיים ל-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 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה פונקציית RoundedPolygon.rectangle() חדשה (I78e7e, b/280322189)
  • המערכת משתמשת עכשיו באותיות רישיות בפונקציות של Star ועיגול ונקראות דרך האובייקט הנלווה של 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 מכילה את התחייבויות אלה.

שינויים ב-API

  • מחלקת העל של Polygon מוזגה עם מחלקה המשנה שלה, RoundedPolygon; כל הפוליגונים הם עכשיו [אופציונלי] פוליגונים מעוגלים.
  • הפונקציה Star (שעדיין מחזירה ערך RoundedPolygon, כמו קודם) מקבלת עכשיו ערך innerRadius, במקום את הפרמטר הקודם innerRadiusRatio. הפרמטר הזה נמצא באותן יחידות כמו פרמטר הרדיוס הקיים, כך שהדבר פשוט ועקבי יותר. בנוסף, השם של הפרמטר numOuterVertices שונה ל-numVerticesPerRadius כדי להבהיר שאותו מספר חל גם על הרדיוס הפנימי וגם על הרדיוס החיצוני.
  • בעבר תועדה CornerRounding.radius כיחס לגודל המצולע, אבל הוא היה (וצריך להיות) ערך מוחלט, ולא יחסי. המסמכים עודכנו וההערה שמגבילה את הערך לערך מקסימלי של 1.0 תוקנה.

גרסה 1.0.0-alpha01

5 באפריל 2023

'הצורות הגרפיות' היא ספרייה חדשה שמאפשרת ליצור ולעבד צורות פוליגוניות מעוגלות בקלות, וגם מורפינג פשוט ואוטומטי (אנימציה) בין צורות שונות.

androidx.graphics:graphics-shapes:1.0.0-alpha01 משוחרר. הגרסה הזו פורסמה מהסתעפות פנימית.

תכונות חדשות

  • משתמשים ב-Polygon API כדי ליצור פוליגונים רגילים ופוליגונים עם מספר קודקודים הרצוי.
  • בעזרת פרמטרים אופציונליים של CornerRounding אפשר לציין את הרדיוס המעוגל ואת הפרמטרים להחלקה על הפינות, וכך ליצור צורות פוליגוניות עם פינות מעוגלות.
  • משתמשים ב-API החדש 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 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • שיפור הביצועים של 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

  • הוסרו שימושים ב-API הניסיוני של isAtLeastU() (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 מכילה את התחייבויות אלה.

תכונות חדשות

  • הספרייה החדשה הזו מאפשרת לשלוח שאילתות על נתוני נתיבים דרך ה-API החדש של PathIterator. באמצעות ה-API הזה, מתקשרים יכולים לבצע איטרציה לכל הפלחים של אובייקט נתיב כדי לקבוע את הפעולה והנתונים לגבי הפלחים האלה.
  • בספרייה נעשה שימוש בממשקי API דומים שהוצגו בתצוגה המקדימה של Android 14, אבל הגרסה הזו של AndroidX ל-API פועלת גם בגרסאות קודמות ל-API 21.

Graphics Core גרסה 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 משוחרר. הגרסה הזו פותחה בהסתעפות פנימית.

תיקוני באגים

  • תוקנה בעיה שגרמה לסגירה כפולה של תיאורי קבצים בCanvasBufferedRendererAPI במכשירי Android מסוימים עם Android 14.
  • תוקנה בעיה שבה מופעים של מאגר נתונים זמני לא נמחקו על ידי FrameBuffer באופן תקין.

גרסה 1.0.0-beta01

13 בדצמבר 2023

androidx.graphics:graphics-core:1.0.0-beta01 משוחרר. גרסה 1.0.0-beta01 מכילה את התחייבויות אלה.

תכונות חדשות

  • השקנו API חדש של LowLatencyCanvasView שתומך ברינדור עם זמן אחזור קצר באמצעות ממשקי ה-API של גרפיקה דו-ממדית ב-Android (Canvas + Paint) בהיררכיית התצוגה.
  • הוספנו את ה-API של CanvasBufferedRenderer לתמיכה בעיבוד קנבס עם האצת חומרה ל-HardwareBuffer. אפשר להשתמש באפשרות הזו כדי לשרטט חלק מממשק המשתמש למאגר נתונים זמני שאפשר להמיר למפת סיביות (Bitmap) באמצעות ה-API של Bitmap.wrapHardwareBuffer.

שינויים ב-API

  • API CanvasBufferRenderer#releaseBuffer עודכן ונוסף לו פרמטר גדר אופציונלי. מסמכי תיעוד מעודכנים שמתארים מתי מוחזר RenderResult#fence. (If1ea7)
  • אפשר להוסיף את השיטה draw ל-RenderRequest כדי לתמוך במינוף קורוטינים לתזמון בקשות משיכה. שינית את השם של שיטת השרטוט הקודמת שצרכה קובץ הרצה ל-drawAsync. שיטת isClosed() ארגון מחדש בנכס. (I5bff6)
  • פרמטר של פורמט מאגר נתונים זמני שנחשף ל-CanvasFrontBufferRenderer כדי למפות ישירות אל CanvasBufferedRenderer.Builder#setBufferFormat (I0f272)
  • נוצר API של CanvasBufferedRenderer כדי לטפל ברינדור של קנבס עם האצת חומרה לHardwareBuffer. הפעולה הזו מספקת הטמעה ברקע ב-Android Q לצד הגדרה של עומק החלפה של HardwareBuffers. ההגדרה של ColorSpace עדיין מוגבלת ל-Android U+ , אבל ההטמעה התואמת לא גורמת למפתחים לפעול ללא תפעול בשם. (I9b1d8)
  • כדאי להוסיף ממשקי API של setFrameRate מתוך clearFrameRate אל SurfaceControlCompat.Transaction כדי לשלוט בקצב הפריימים במקביל לאסטרטגיית השינוי למעברים חלקים או מעברי ברירת מחדל. (I6045c)
  • רמת ה-API הנדרשת של setDataSpace הוקטנה ל-Android Q מ-Android T. I59c34
  • נוספה קריאה חוזרת של onBufferReleased ל-API של GLFrameBufferRenderer כדי לתת לצרכנים הזדמנות לנקות את המצב כשמאגר הנתונים הזמני לא מוצג יותר (I8a4e2)
  • יצירת LowLatencyCanvasView כדי לתמוך בתרחיש לדוגמה פשוט של רינדור תוכן עם זמן אחזור קצר, שמסתנכרן עם הרינדור של View היררכיה. זה מצמצם את המורכבות שקשורה לניהול של SurfaceView על ידי ניהול פנימי של המכונה SurfaceView שמתורגמת למצב כבוי/מושבת לצורך רינדור מסונכרן ורינדור עם זמן אחזור קצר בהתאמה. (I9253b)
  • נוספה תמיכה בהגדרות של מרחב הצבעים ל-API של CanvasFrontBufferedRenderer. הקריאות החוזרות (callback) שנקראות מספר מאגרי נתונים זמניות עודכנו כך שיכללו גם את SurfaceControl במאגר הנתונים הזמני (I24bd9)

גרסה 1.0.0-alpha05

6 בספטמבר 2023

androidx.graphics:graphics-core:1.0.0-alpha05 משוחרר. גרסה 1.0.0-alpha05 מכילה את התחייבויות אלה.

תכונות חדשות

  • הוספנו את ממשק ה-API של GLFrameBufferRenderer. המצב הזה מספק שילוב של יחסי תלות של OpenGL, תצורת שרשרת האספקה, פורמטים של פיקסלים והגדרה של SurfaceControl. (Ic775b)

שינויים ב-API

  • נוספו פרמטרים של רוחב וגובה לממשקי API שונים של קריאה חוזרת למאפייני קו אנכי מ-SurfaceHolder#Callbacks. (I7f9fc)
  • נוסף API ברור כדי למחוק שכבות קדמיות ושכבות מרובות אגירת נתונים. (Ic1f95)
  • נוספה תמיכה בהגדרת הסוג הבסיסי של מאגר הנתונים הזמני שמשמש את GLFrontBufferedRenderer. (I07a13)
  • נוספו מאפייני kotlin ליוצרי אימיילים ב-GLFrameBufferRenderer, הערה IntRange לרשומות של מאגר נתונים זמני מקסימלי ו-HardwareBufferFormart ו-HardwareBufferUsage הערות בשביל setFormat/setUsage, בהתאמה. (Ief89e)
  • עודכן ה-API של setBuffer בעסקאות של SurfaceControl כדי לספק גדר שחרור. (Ice1b)
  • נוספו ממשקי API של SurfaceControlCompat.Transaction כדי להגדיר את מרחב הנתונים וגם את טווח הבהירות המורחב. (Ic378d)

גרסה 1.0.0-alpha04

7 ביוני 2023

androidx.graphics:graphics-core:1.0.0-alpha04 משוחרר. גרסה 1.0.0-alpha04 מכילה את התחייבויות אלה.

תכונות חדשות

  • הוספה של CanvasFrontBufferedRenderer לתמיכה בגרפיקה עם זמן אחזור קצר שמשתמש ב-API של android.graphics.Canvas לצד ההטמעה הקיימת של OpenGL

שינויים ב-API

  • ה-API של SurfaceControlCompat.Transaction#setBuffer עודכן כדי לאפשר למופעי HardwareBuffer שאינם ניתנים לביטול לשקף את ה-API של הפלטפורמה התואמת (I173d7)
  • במקום זאת, צריך לשנות את השם של שיטות שמתייחסים לרינדור של 'קובץ זמני של אחסון זמני' ב-Multi Buffered, כי שירות ה- המבוססות על כיסוי עשוי להכיל יותר מ-2 אגירת נתונים. (I830d7)
  • יצירת API של CanvasFrontBufferedRenderer כדי להפעיל קובצי 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 מכילה את התחייבויות אלה.

שינויים ב-API

  • הטמעת הקריאה החוזרת של GLFrontBufferedRenderer עודכנה כדי לספק אובייקט BufferInfo שמכיל רוחב/גובה של מאגר נתונים זמני ומזהה של מאגר נתונים זמני של מסגרת, שאפשר להשתמש בו כדי לטרגט מחדש את היעד המקורי אחרי העיבוד למאגר נתונים זמני ברמת ביניים. (I7fe20)
  • יצירה מאוחדת של SyncFence בשיטת יצרן סטטית בתאריך SyncFenceCompat.
  • הוסרה שיטת התאימות הציבורית עבור eglDupNativeFenceFDANDROID, לטובת שיטת היצרן SyncFenceCompat ליצירת SyncFence. כך אפשר לוודא שכל פלטפורמות ה-API מיושמות בצורה נכונה ב-SyncFence, ללא קשר לרמת ה-API. (I849b)
  • נוסף תיעוד לגבי FrameBufferRenderer ו-SyncStrategy.
    • חבילת FrameBufferRenderer + FrameBuffer + FrameBufferPool הועברה אל androidx.graphics.opengl
    • SyncStrategy הועברה לחבילה androidx.graphics.opengl
    • עודכנו RenderCallback#onDraw מסמכים
    • תיעוד מעודכן של RenderCallback#obtainFrameBuffer שהמטמיע של ה-API אחראי לקריאה ל-FrameBuffer.close
    • onDrawComplete עודכן כדי לציין שהצרכנים אחראים לשליחת תוכן להצגה
    • ממשקי או מחלקות של תאימות של SyncFence הועברו לחבילה androidx.hardware כדי לשקף את ה-framework
    • שם ה-API של SyncFence שונה ל-SyncFenceV19 והפך לפרטי כדי לאחד את השימושים ל-SyncFenceCompat, שמשתמש ב-API SyncFence של ה-framework ככל האפשר. (I5149c)
  • נוספו GLFrontBufferedRenderer#cancel ו-GLFrontBufferedRenderer#execute שיטות. האפשרות הראשונה שימושית בתרחישים של דחיית כף היד שבה צריך לבטל את העיבוד למאגר הנתונים הקדמי ולהסתיר את מאגר הנתונים הזמני. האפשרות השנייה שימושית בתרחישים שבהם אפשר לתמרן אובייקטים בשרשור GL בלי לתזמן רינדור. (If0b7f)
  • מוסיפים API כדי לעבד ישירות לשכבה של מאגר הנתונים הזמני. כך ניתן לעבד מחדש סצנה אחרי שקורים את התמונה, וגם לתת לצרכנים הזדמנות לקבוע באופן סלקטיבי מתי כדאי להשתמש ברינדור דינמי של רינדור דינמי במאגר הנתונים הזמני על סמך הסצנה הרצויה. (Ied56c)
  • הוספנו ל-SurfaceControlCompat.Builder API חדש כדי לתמוך בהגדרת ההורה 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 מכילה את התחייבויות אלה.

שינויים ב-API

  • תוקנה ההערה RequiresApi חסרה עבור addTransactionCommitListener שהושקה ב-Android S (I0a035)
  • עודכנו קריאות חוזרות (callback) של onDraw<Front/Double> במאגר הנתונים הזמני כדי לספק מטריצת טרנספורמציה שצרכנים יכולים להעביר לתוכנות ההצללה (shader) שלהם בקודקוד, בנוסף לרוחב/גובה של מאגר הנתונים הזמני. באחריות הצרכנים להשתמש בפרמטרים האלה כדי לבצע רוטציה מראש של קוד הרינדור של 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 ליבת הגרפיקה. זה כולל ממשקי API שתומכים בתרחישים לדוגמה עם זמן אחזור קצר, כמו קלט סטיילוס. הגרסה הזו מציגה גם כמה ממשקי API עוזרים לשימוש ב-OpenGL.

שינויים ב-API

  • מציגה את GLFrontBufferedRenderer שמסייעת ברינדור בפריסה קדמית ובמאגר אחסון זמני מרובה, להשגת פלט רינדור באיכות נמוכה וגם לפלט רינדור באיכות גבוהה.
  • מציג את GLRenderer API שעוזר ברינדור OpenGL עבור ספקי Surface שונים כמו SurfaceView, TextureView ועוד.