กราฟิก

  
ใช้ประโยชน์จากสิ่งอำนวยความสะดวกด้านกราฟิกในแพลตฟอร์ม Android รุ่นต่างๆ

ตารางนี้แสดงรายการอาร์ติแฟกต์ทั้งหมดในกลุ่ม androidx.graphics

อาร์ติแฟกต์ รุ่นที่เสถียร ตัวเลือกถอนการอ้างสิทธิ์ รุ่นเบต้า รุ่นอัลฟ่า
แกนประมวลผลกราฟิก 1.0.0 - - -
เส้นทางกราฟิก 1.0.1 - - -
รูปทรงกราฟิก - 1.0.0-rc01 - -
คลังนี้ได้รับการอัปเดตล่าสุดเมื่อวันที่ 24 กรกฎาคม 2024

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ของกราฟิก คุณต้องเพิ่มที่เก็บ Google Maven ไปยัง อ่านที่เก็บ Maven ของ Google เพื่อดูข้อมูลเพิ่มเติม

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle สำหรับ ในแอปหรือโมดูล

ดึงดูด

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

Kotlin

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร Dependency ได้ที่หัวข้อเพิ่มการอ้างอิงของบิลด์

ความคิดเห็น

ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากคุณพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูที่ ปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนที่จะสร้างใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว

สร้างรายการใหม่

ดูเอกสารประกอบเกี่ยวกับเครื่องมือติดตามปัญหา เพื่อดูข้อมูลเพิ่มเติม

ไม่มีบันทึกประจำรุ่นสำหรับอาร์ติแฟกต์นี้

รูปร่างกราฟิก เวอร์ชัน 1.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() ไปยัง 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() ใหม่เพื่อให้สร้างรูปทรงกลม/ติดดาวเหล่านี้ได้อย่างง่ายดาย นอกจากนี้ยังมี API ใหม่ๆ สำหรับการคำนวณขอบเขตที่แน่นอนที่จำเป็นสำหรับรูปร่าง (ขอบเขตก่อนหน้านี้เป็นเพียงค่าประมาณที่อิงตามจุดยึดและจุดควบคุมของเส้นโค้งเบซิเยร์ที่อยู่ด้านล่าง) รวมถึงขอบเขตสูงสุดที่เป็นไปได้ ซึ่งอาจมีประโยชน์ในการระบุขนาดของคอนเทนเนอร์ที่ถือคอนเทนเนอร์ว่าจะมีการหมุนภายในคอนเทนเนอร์นั้นหรือไม่ (I71827)

การเปลี่ยนแปลง API

  • ตอนนี้มีตัวเลือกเพิ่มเติมสำหรับการเรียกข้อมูลขอบเขตที่แน่นอนและสูงสุด (I6d49f, b/317286450)

แก้ไขข้อบกพร่อง

  • มีอาร์ติแฟกต์การแสดงผลเป็นครั้งคราวเมื่อวาดรูปร่างเหล่านี้เป็นเส้นทางที่ลากเส้น เนื่องจากปัญหาการแสดงผลในระดับต่ำซึ่งเกี่ยวข้องกับเส้นโค้งความยาวเป็น 0 ข้อบกพร่องนี้แก้ไขโดยการขจัดเส้นโค้งความยาว 0 ทั้งหมด (ซึ่งรูปร่างไม่จำเป็นต้องใช้ ทำให้ประหยัดโอเวอร์เฮดของเส้นทางที่รูปร่างต่างๆ สร้างขึ้นด้วย)

เวอร์ชัน 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 จำนวนมากทำให้ไลบรารี Shapes ใช้งานกับ KMP ได้ ซึ่งทำให้เรียกใช้จากโค้ดที่ไม่ใช่ Android ได้ง่ายขึ้น (เช่น โค้ด Compose ใน Android) เช่น ไม่มีประเภท Android ใน API เช่น ประเภท PointF, Matrix และเส้นทางก่อนหน้านี้
  • นอกจากนี้ยังมีการเปลี่ยนแปลงหลายอย่างกับ API และการใช้งานเพื่อเหตุผลด้านประสิทธิภาพ โดยเฉพาะเพื่อลดการจัดสรรออบเจ็กต์ (และการรวบรวม) ให้น้อยที่สุด เช่น การย้ายจาก PointF ไปยังพารามิเตอร์ Float ที่แยกต่างหากจะหลีกเลี่ยงการจัดสรรโครงสร้าง PointF ชั่วคราวจำนวนมากเพื่อคงจุดยอดเหล่านั้นไว้

การเปลี่ยนแปลง API

  • แทนที่ Morph.asMutableCubics ด้วยฟังก์ชันที่จะทำซ้ำในช่วง MutableCubics แล้ว เปลี่ยนอินเทอร์เฟซการทำงานของ PointTransformer แล้ว ตอนนี้จะใช้พิกัด x และ y ของ Point และแสดงผล TransformedResult (ซึ่งสร้างขึ้นด้วยพิกัด x และ y ที่เปลี่ยนรูปแบบ) (I6719e)
  • นำตัวสร้าง Cubic สาธารณะออกแล้วทำให้เป็นฟังก์ชันจากโรงงาน (I409ce)
  • การเพิ่ม API การเปลี่ยนรูปแบบและการวาดภาพเฉพาะสำหรับ Android (I079f6, b/292289543)
  • กำจัดทรัพยากร Dependency ของ Android (Iadc1c, b/292289543)
  • ตอนนี้ชื่อพร็อพเพอร์ตี้ Anchor และตัวควบคุมเหมาะสมกว่าแล้ว (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)
  • ตอนนี้ฟังก์ชันดาวและวงกลมได้ยกเลิกการใช้อักษรตัวพิมพ์ใหญ่แล้ว และเรียกผ่านออบเจ็กต์การแสดงร่วมของ 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

Graphics-Shapes เป็นไลบรารีใหม่ที่ช่วยให้สร้างและแสดงผลรูปทรงรูปหลายเหลี่ยมแบบกลมได้ง่าย ตลอดจนการมอร์ฟ (ภาพเคลื่อนไหว) ระหว่างรูปทรงต่างๆ แบบอัตโนมัติและเรียบง่าย

ปล่อย androidx.graphics:graphics-shapes:1.0.0-alpha01 แล้ว มีการเผยแพร่เวอร์ชันนี้จาก Branch ภายใน

ฟีเจอร์ใหม่

  • ใช้ 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 มีคอมมิตเหล่านี้

แก้ไขข้อบกพร่อง

  • การปรับปรุงแฟล็กคอมไพเลอร์

เวอร์ชัน 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 (รหัส 4629)

เวอร์ชัน 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 แล้ว เวอร์ชันนี้ได้รับการพัฒนาใน Branch ภายใน

ฟีเจอร์ใหม่

  • แก้ปัญหาการตรวจสอบเวอร์ชันแพลตฟอร์มภายในซึ่งทำให้เกิดปัญหาขณะเรียกใช้ตัวอย่าง Android 14 (การตรวจสอบเวอร์ชันจะไม่สำเร็จ แต่กลไกในการทำสิ่งต่างๆ ในรุ่นก่อนหน้าจะทำงานไม่ถูกต้องใน Android 14 โดยเฉพาะ)

เวอร์ชัน 1.0.0-alpha01

22 มีนาคม 2023

ปล่อย androidx.graphics:graphics-path:1.0.0-alpha01 แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ไลบรารีใหม่นี้ช่วยให้ค้นหาข้อมูลเส้นทางผ่าน PathIterator API ใหม่ได้ เมื่อใช้ API นี้ ผู้โทรจะทำซ้ำผ่านทุกส่วนของออบเจ็กต์เส้นทางเพื่อกำหนดการดำเนินการและข้อมูลสำหรับกลุ่มเหล่านั้นได้
  • ไลบรารีนี้ใช้ API ที่คล้ายกันซึ่งเปิดตัวไปใน Android 14 เวอร์ชันตัวอย่าง แต่ API เวอร์ชัน AndroidX นี้ก็ใช้งานในเวอร์ชันที่ย้อนกลับไปถึง API 21 ได้ด้วย

Graphics Core เวอร์ชัน 1.0

เวอร์ชัน 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 แล้ว เวอร์ชันนี้ได้รับการพัฒนาใน Branch ภายใน

แก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่อาจทำให้เกิดการปิดตัวบ่งชี้ไฟล์ 2 ครั้งด้วย CanvasBufferedRendererAPI ในอุปกรณ์ Android บางเครื่องที่ใช้ Android 14
  • แก้ปัญหาที่ FrameBuffer ลบอินสแตนซ์ FrameBuffer ไม่ถูกต้อง

เวอร์ชัน 1.0.0-beta01

13 ธันวาคม 2023

ปล่อย androidx.graphics:graphics-core:1.0.0-beta01 แล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เปิดตัว API ใหม่ LowLatencyCanvasView เพื่อรองรับการแสดงผลที่มีเวลาในการตอบสนองต่ำด้วย API กราฟิก 2 มิติของ Android (Canvas + Paint) ภายในลำดับชั้นการแสดงผล
  • เปิดตัว API ของ CanvasBufferedRenderer เพื่อรองรับการแสดงผล Canvas ที่เร่งการแสดงผลด้วยฮาร์ดแวร์สำหรับ HardwareBuffer ซึ่งสามารถใช้เพื่อวาดอินเทอร์เฟซผู้ใช้บางส่วนลงในบัฟเฟอร์ที่แปลงเป็นบิตแมปได้โดยใช้ Bitmap.wrapHardwareBuffer API

การเปลี่ยนแปลง API

  • อัปเดต CanvasBufferRenderer#releaseBuffer API ให้มีพารามิเตอร์ fence ที่ไม่บังคับ อัปเดตเอกสารประกอบเพื่ออธิบายเมื่อมีการส่งคืน RenderResult#fence (If1ea7)
  • เพิ่มเมธอด draw ลงใน RenderRequest เพื่อรองรับการใช้ประโยชน์จากโครูทีนเพื่อกำหนดเวลาคำขอวาด เปลี่ยนชื่อวิธีการวาดก่อนหน้าที่ใช้ตัวดำเนินการเป็น drawAsync เปลี่ยนวิธีการที่ isClosed() เปลี่ยนโครงสร้างเป็นพร็อพเพอร์ตี้แล้ว (I5bff6)
  • พารามิเตอร์รูปแบบบัฟเฟอร์ที่เปิดเผยกับ CanvasFrontBufferRenderer เพื่อแมปกับ CanvasBufferedRenderer.Builder#setBufferFormat โดยตรง (I0f272)
  • สร้าง API ของ CanvasBufferedRenderer เพื่อจัดการการแสดงผล Canvas ที่เร่งการแสดงผลด้วยฮาร์ดแวร์ใน HardwareBuffer วิธีนี้ทำให้การติดตั้งใช้งาน Android Q มีการพอร์ตไปยัง Android Q ควบคู่กับการกำหนดค่าความลึกของการสลับเชนที่ HardwareBuffers การกําหนดค่า ColorSpace ยังคงจํากัดอยู่ที่ Android U+ แต่การใช้งานความเข้ากันได้จะทำให้นักพัฒนาแอปมีลักษณะการทำงานโดยไม่มีการดำเนินการ แทน (I9b1d8)
  • เพิ่ม API setFrameRate/clearFrameRate รายการไปยัง SurfaceControlCompat.Transaction เพื่อควบคุมอัตราเฟรมควบคู่ไปกับกลยุทธ์การเปลี่ยนแปลงเพื่อให้การเปลี่ยนเป็นไปอย่างราบรื่นหรือเริ่มต้น (I6045C)
  • ลดระดับ API ที่จำเป็นสำหรับ setDataSpace เป็น Android Q จาก Android T แล้ว (I59c34)
  • เพิ่ม Callback onBufferReleased ใน API ของ GLFrameBufferRenderer แล้ว เพื่อให้ผู้บริโภคมีโอกาสล้างสถานะเมื่อไม่มีบัฟเฟอร์อีกต่อไป (I8a4e2)
  • สร้าง LowLatencyCanvasView เพื่อรองรับกรณีการใช้งานที่เรียบง่ายของการแสดงผลเนื้อหาที่มีเวลาในการตอบสนองต่ำซึ่งซิงค์กับการแสดงผลลำดับชั้นการแสดงผล การดําเนินการนี้ช่วยลดความซับซ้อนที่เกี่ยวข้องกับการจัดการ 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 ซึ่งจะมีชุดค่าผสมของทรัพยากร Dependency ของ OpenGL, การกำหนดค่าการสลับเชน, รูปแบบพิกเซล และการกำหนดค่า SurfaceControl (Ic775B)

การเปลี่ยนแปลง API

  • เพิ่มพารามิเตอร์ความกว้าง + ความสูงใน API ของ Callback ต่างๆ ไปยังขนาดไปป์จาก SurfaceHolder#Callbacks (I7f9fc)
  • เพิ่ม API ที่ชัดเจนเพื่อล้างทั้งเลเยอร์ด้านหน้าและเลเยอร์ที่บัฟเฟอร์หลายรายการ (Ic1f95)
  • เพิ่มการรองรับเพื่อกำหนดค่าประเภทบัฟเฟอร์ที่สำคัญของการสลับเชนที่ใช้ภายใน GLFrontBufferedRenderer (I07a13)
  • เพิ่มพร็อพเพอร์ตี้ Kotlin สำหรับ Getters ใน GLFrameBufferRenderer, คำอธิบายประกอบ IntRange สำหรับรายการบัฟเฟอร์สูงสุด และคำอธิบายประกอบ HardwareBufferFormart และ HardwareBufferUsage สำหรับ setFormat/setUsage ตามลำดับ (Ief89e)
  • อัปเดต setBuffer API ในธุรกรรม SurfaceControl เพื่อให้มีขอบเขตการเผยแพร่ (Ice1bb)
  • เพิ่ม SurfaceControlCompat.Transaction API เพื่อกำหนดค่าพื้นที่ข้อมูลและตั้งค่าช่วงความสว่างที่ขยาย (Ic378d)

เวอร์ชัน 1.0.0-alpha04

7 มิถุนายน 2023

ปล่อย androidx.graphics:graphics-core:1.0.0-alpha04 แล้ว เวอร์ชัน 1.0.0-alpha04 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เปิดตัว CanvasFrontBufferedRenderer เพื่อรองรับกราฟิกที่มีเวลาในการตอบสนองต่ำโดยใช้ android.graphics.Canvas API ควบคู่กับการใช้งาน OpenGL ที่มีอยู่

การเปลี่ยนแปลง API

  • อัปเดต SurfaceControlCompat.Transaction#setBuffer API เพื่อให้อินสแตนซ์ HardwareBuffer ที่เป็นค่าว่างได้ทำการมิเรอร์ 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 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • อัปเดตการใช้งาน Callback ของ GLFrontBufferedRenderer เพื่อระบุออบเจ็กต์ BufferInfo ที่มีบัฟเฟอร์ความกว้าง/ความสูง รวมถึงตัวระบุเฟรมบัฟเฟอร์ที่สามารถใช้เพื่อกำหนดเป้าหมายปลายทางเดิมใหม่หลังจากแสดงผลไปยังบัฟเฟอร์ชั่วคราวระดับกลาง (I7fe20)
  • การสร้าง SyncFence รวมเป็นเมธอดจากโรงงานแบบคงที่ใน SyncFenceCompat
  • นำวิธีความเข้ากันได้แบบสาธารณะสำหรับ eglDupNativeFenceFDANDROID ออกเพื่อใช้เมธอด SyncFenceCompat เป็นค่าเริ่มต้นในการสร้าง SyncFence ทั้งนี้เพื่อให้แพลตฟอร์ม API ทั้งหมดได้รับการติดตั้งใช้งาน SyncFence ที่ถูกต้องโดยไม่คำนึงถึงระดับ API (I849bb)
  • เพิ่มเอกสารประกอบสำหรับ FrameBufferRenderer และ SyncStrategy
    • ย้าย FrameBufferRenderer + FrameBuffer + FrameBufferPool ไปยังแพ็กเกจ androidx.graphics.opengl แล้ว
    • ย้ายแพ็กเกจ SyncStrategy ไปยัง androidx.graphics.opengl แล้ว
    • อัปเดตเอกสารแล้ว RenderCallback#onDraw รายการ
    • เอกสารประกอบฉบับปรับปรุงของ RenderCallback#obtainFrameBuffer ที่ผู้ติดตั้งใช้งาน API เป็นผู้รับผิดชอบในการเรียกใช้ FrameBuffer.close
    • อัปเดต onDrawComplete เพื่อระบุว่าผู้บริโภคเป็นผู้รับผิดชอบในการส่งเนื้อหาที่จะแสดง
    • ย้ายอินเทอร์เฟซ/คลาสความเข้ากันได้ SyncFence รายการไปยังแพ็กเกจ androidx.hardware เพื่อมิเรอร์เฟรมเวิร์ก
    • เปลี่ยนชื่อ API ของ SyncFence เป็น SyncFenceV19 และทำให้เป็นแบบส่วนตัวเพื่อรวมการใช้งานเป็น SyncFenceCompat ซึ่งใช้ประโยชน์จาก SyncFence API ของเฟรมเวิร์กในทุกที่ที่เป็นไปได้ (I5149C)
  • เพิ่ม GLFrontBufferedRenderer#cancel และ GLFrontBufferedRenderer#execute วิธีแล้ว ตัวเลือกแรกมีประโยชน์ในสถานการณ์การปฏิเสธฝ่ามือซึ่งควรยกเลิกการแสดงผลไปยังบัฟเฟอร์ด้านหน้าและซ่อนบัฟเฟอร์ด้านหน้า แบบหลังมีประโยชน์ในสถานการณ์ในการจัดการออบเจ็กต์ในเทรด GL โดยไม่ต้องกำหนดเวลาการแสดงผล (If0b7f)
  • เพิ่ม API เพื่อแสดงผลโดยตรงไปยังเลเยอร์ที่บัฟเฟอร์ 2 ชั้น ช่วยในการแสดงผลฉากอีกครั้งหลังจากที่เล่นต่อ และช่วยให้ผู้บริโภคมีโอกาสเลือกได้ว่าควรใช้ประโยชน์จากการแสดงผลแบบบัฟเฟอร์ด้านหน้าแบบไดนามิกโดยอิงตามฉากที่ต้องการแสดงผลเมื่อใด (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 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • แก้ไขคำอธิบายประกอบ RequiresApi ที่ขาดหายไปสำหรับ addTransactionCommitListener ซึ่งเปิดตัวใน Android S (I0a035)
  • อัปเดต onDraw<Front/Double> Buffer Callback เพื่อแสดงเมทริกซ์การเปลี่ยนรูปแบบที่ผู้บริโภคส่งผ่านไปยังตัวปรับแสงเงา Vertex ได้นอกเหนือจากความกว้างและความสูงของบัฟเฟอร์ปัจจุบัน ผู้บริโภคจะต้องเป็นผู้รับผิดชอบในการใช้พารามิเตอร์เหล่านี้เพื่อหมุนโค้ดการแสดงผล 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 สำหรับผู้ให้บริการแพลตฟอร์มต่างๆ เช่น SurfaceView, TextureView และอื่นๆ