grafis
Tabel ini mencantumkan semua artefak dalam grup androidx.graphics
.
Artefak | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
graphics-core | 1.0.2 | - | - | - |
graphics-path | 1.0.1 | - | - | - |
bentuk-grafik | 1.0.1 | - | - | 1.1.0-alpha01 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada Print, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.graphics:graphics-core:1.0.2" implementation "androidx.graphics:graphics-path:1.0.1" implementation "androidx.graphics:graphics-shapes:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.graphics:graphics-core:1.0.2") implementation("androidx.graphics:graphics-path:1.0.1") implementation("androidx.graphics:graphics-shapes:1.1.0-alpha01") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Tidak ada catatan rilis untuk artefak ini.
Versi Grafik 1.1
Versi 1.1.0-alpha01
11 Desember 2024
androidx.graphics:graphics-*:1.1.0-alpha01
dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Fitur Baru
- Membuat ulang demo utama menjadi Editor Bentuk generik. Dengan ini, Anda dapat mengimpor bentuk dari jalur svg, mengedit fitur yang terdeteksi secara manual jika ada yang terlewat dalam proses otomatis, dan mengekspor hasilnya ke dalam kode yang dapat digunakan dalam kode produksi. (I1ac13)
- Mengganti pengukuran sudut untuk progres garis batas bentuk dengan pengukuran panjang kurva, sehingga bentuk yang lebih kompleks dapat digunakan untuk morphing. (I75478) , I390dd
- Meningkatkan algoritma pemetaan fitur, sehingga lebih banyak morfo yang akan terlihat lebih alami. (I83287)
Perubahan API
- Menambahkan impor jalur SVG dan serializer fitur. Alur biasanya adalah:
- Gunakan
SvgPathParser.parseFeatures()
baru untuk mengonversi jalur svg (nilai atributd
pada elemenpath
svg) menjadiList<Feature>
. - Hal ini dapat diubah, lalu diserialisasi menjadi string dengan
FeatureSerializer.serialize()
. - String yang dihasilkan dapat digunakan dalam kode produksi, dengan mengimpornya menggunakan
FeatureSerializer.parse()
- Perhatikan bahwa langkah 1 & 2 dilakukan satu kali, dan dapat dilakukan dengan aplikasi baru. Kode produksi hanya perlu melakukan langkah 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- Gunakan
- Mengekspos fitur poligon dan jenis fitur.
RoundedPolygons
yang lebih umum kini dapat dibuat dengan konstruktor dasar yang menggunakanList<Features>
. Fitur terutama merupakan daftar kurva bezier Kubus, tetapi fitur tersebut diberi tag untuk membantu algoritma Morph mencocokkan antara bentuk awal dan akhir (sudut cembung dipetakan ke sudut cembung dan sudut cekung dipetakan ke sudut cekung). (I61e76), (I1fc5c) - Menambahkan dukungan untuk target KMP
watchosDeviceArm64
dan target kotlin 1.9. (Icf15d, b/364652024)
Perbaikan Bug
- Memperbaiki kasus ekstrem saat fitur terakhir kosong. (I390dd)
- Membuat pembuatan
RoundedPolygon
lebih andal. (Ib862c, b/360888486) - Memperbaiki bug pada inisialisasi
RoundedPolygon
. (I83ddb) - Memperbaiki error dalam algoritma untuk memperkirakan pusat poligon. (Ida147)
Graphics Shapes Versi 1.0
Versi 1.0.0
21 Agustus 2024
androidx.graphics:graphics-shapes:1.0.0
, androidx.graphics:graphics-shapes-android:1.0.0
, dan androidx.graphics:graphics-shapes-desktop:1.0.0
dirilis. Versi 1.0.0 berisi commit ini.
Versi 1.0.0-rc01
24 Juli 2024
androidx.graphics:graphics-shapes:1.0.0-rc01
, androidx.graphics:graphics-shapes-android:1.0.0-rc01
, dan androidx.graphics:graphics-shapes-desktop:1.0.0-rc01
dirilis. Versi 1.0.0-rc01 berisi commit ini.
Versi 1.0.0-beta01
1 Mei 2024
androidx.graphics:graphics-shapes:1.0.0-beta01
, androidx.graphics:graphics-shapes-android:1.0.0-beta01
, dan androidx.graphics:graphics-shapes-desktop:1.0.0-beta01
dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perubahan API
- Mengizinkan bentuk diputar terlebih dahulu untuk memulai di titik yang berbeda. Perubahan ini memungkinkan bentuk
pillStar
memulai kurvanya dari titik non-default di perimeter. Hal ini dapat berguna saat menganimasikan goresan jalur bentuk, untuk mulai menggambar dari lokasi tertentu pada garis batas bentuk. (Ifbb4d, b/324303807) - Menambahkan fungsi
calculateBounds()
ke Morph, yang sejajar dengan fungsi yang sama diRoundedPolygon
. (I8a3b6, b/325463575)
Versi 1.0.0-alpha05
7 Februari 2024
androidx.graphics:graphics-shapes:1.0.0-alpha05
, androidx.graphics:graphics-shapes-android:1.0.0-alpha05
, dan androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05
dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Fitur Baru
- Library ini kini menawarkan fungsi
pill()
danpillStar()
baru untuk memudahkan pembuatan bentuk bulat/berbintang ini. Ada juga API baru untuk menghitung batas yang tepat yang diperlukan untuk bentuk (batas sebelumnya hanyalah estimasi berdasarkan anchor dan titik kontrol kurva Bezier yang mendasarinya), serta batas maksimum yang mungkin, yang dapat membantu menentukan ukuran penampung yang menyimpannya jika akan diputar dalam penampung tersebut. (I71827)
Perubahan API
- Kini ada lebih banyak opsi untuk mengambil batas persis dan maksimum. (I6d49f, b/317286450)
Perbaikan Bug
- Terkadang ada artefak rendering saat menggambar bentuk ini sebagai jalur goresan, karena masalah rendering tingkat rendah yang terkait dengan kurva panjang nol. Bug ini diperbaiki dengan menghapus semua kurva dengan panjang nol (yang tidak diperlukan bentuk, sehingga juga menghemat overhead jalur yang dihasilkan oleh bentuk).
Versi 1.0.0-alpha04
13 Desember 2023
androidx.graphics:graphics-shapes:1.0.0-alpha04
, androidx.graphics:graphics-shapes-android:1.0.0-alpha04
, dan androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04
dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.
Fitur Baru
- Rilis ini berisi beberapa perubahan API, serta perbaikan bug.
- Banyak perubahan API yang membuat library Shapes cocok dengan KMP. Hal ini memudahkan panggilan dari kode non-Android (seperti kode Compose yang tidak bergantung pada Android). Misalnya, tidak ada jenis Android di API, seperti jenis PointF, Matrix, dan Path sebelumnya.
- Ada juga beberapa perubahan yang dilakukan pada API dan implementasi karena alasan performa, khususnya untuk meminimalkan alokasi (dan pengumpulan) objek. Misalnya, perpindahan dari PointF ke parameter Float terpisah akan menghindari alokasi banyak struktur PointF sementara untuk menyimpan vertex tersebut.
Perubahan API
- Mengganti
Morph.asMutableCubics
dengan fungsi untuk melakukan iterasi padaMutableCubics
. Mengubah antarmuka fungsionalPointTransformer
, sekarang antarmuka tersebut mengambil koordinat x dan y dariPoint
dan menampilkanTransformedResult
(yang dibuat dengan koordinat x & y yang ditransformasikan) (I6719e) - Menghapus konstruktor
Cubic
publik dan menjadikannya fungsi factory. (I409ce) - Menambahkan API transformasi dan gambar khusus Android (I079f6, b/292289543)
- Menghapus dependensi Android (Iadc1c, b/292289543)
- Nama properti anchor dan kontrol kini lebih masuk akal (If13bd, b/294562941)
- Parameter
PointF
diubah menjadi pasanganFloat
(Id4705, b/276466399, b/290254314) progress
kini diteruskan ke perintah gambarMorph
secara langsung (Icdca2)
Perbaikan Bug
- Memperbaiki bug saat membuat bentuk besar. (I4fd66, b/313497325)
Versi 1.0.0-alpha03
7 Juni 2023
androidx.graphics:graphics-shapes:1.0.0-alpha03
dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Perubahan API
- Menambahkan fungsi
RoundedPolygon.rectangle()
baru (I78e7e, b/280322189) - Fungsi Bintang dan Lingkaran kini tidak diawali dengan huruf besar dan dipanggil melalui objek pendamping
RoundedPolygon
: misalnya,RoundedPolygon.star(...)
(I14735)
Perbaikan Bug
- Memperbaiki bug pada penghalusan (Ibf894)
- Memperbaiki bug yang terjadi saat bentuk awal dan akhir sama. Mendistribusikan ruang yang tersedia di sisi untuk pemotongan dengan lebih baik, pertama-tama menggunakan ruang yang tersedia untuk pembulatan, lalu untuk penghalusan jika ada ruang yang tersisa. (Ibd320, b/277936300)
Versi 1.0.0-alpha02
19 April 2023
androidx.graphics:graphics-shapes:1.0.0-alpha02
dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan API
- Superclass Poligon digabungkan dengan subclass-nya,
RoundedPolygon
; semua poligon kini menjadi poligon bulat [opsional]. - Fungsi Bintang (yang masih menampilkan
RoundedPolygon
, seperti sebelumnya) kini menggunakan nilaiinnerRadius
, bukan parameterinnerRadiusRatio
sebelumnya. Ini dalam satuan yang sama dengan parameter radius yang ada, sehingga lebih sederhana dan konsisten. Selain itu, parameternumOuterVertices
diganti namanya menjadinumVerticesPerRadius
untuk memperjelas bahwa angka yang sama diterapkan ke jari-jari dalam dan luar. CornerRounding.radius
sebelumnya didokumentasikan sebagai relatif terhadap ukuran poligon, tetapi nilainya (dan seharusnya) adalah nilai absolut, bukan relatif. Dokumen telah diperbarui dan anotasi yang membatasinya hingga nilai maksimum 1,0 telah diperbaiki.
Versi 1.0.0-alpha01
5 April 2023
Graphics-Shapes adalah library baru yang memungkinkan pembuatan dan rendering bentuk poligon bulat dengan mudah, serta perubahan bentuk (animasi) yang sederhana dan otomatis di antara berbagai bentuk.
androidx.graphics:graphics-shapes:1.0.0-alpha01
dirilis. Versi ini dirilis dari cabang internal.
Fitur Baru
- Gunakan Polygon API untuk membuat poligon reguler dan bintang dengan jumlah vertex yang diinginkan.
- Gunakan parameter
CornerRounding
opsional untuk menentukan radius pembulatan dan parameter penghalusan untuk sudut, sehingga menghasilkan bentuk poligonal dengan sudut membulat. - Gunakan
Morph(Polygon, Polygon)
API baru untuk menghitung bentuk “morph” secara otomatis yang progresnya dapat ditetapkan dari 0 hingga 1 untuk menganimasikan antara bentuk awal dan akhir. Animasikan progres tersebut dari waktu ke waktu, dengan menggambar hasilnya di setiap frame, untuk membuat animasi yang lancar di antara bentuk bulat baru ini.
Graphics Path Versi 1.0
Versi 1.0.1
1 Mei 2024
androidx.graphics:graphics-path:1.0.1
dirilis. Versi 1.0.1 berisi commit ini.
Perbaikan Bug
- Peningkatan pada flag compiler.
Versi 1.0.0
6 Maret 2024
androidx.graphics:graphics-path:1.0.0
dirilis.
Versi 1.0.0-rc01
21 Februari 2024
androidx.graphics:graphics-path:1.0.0-rc01
dirilis. Versi 1.0.0-rc01 berisi commit berikut ini.
Perbaikan Bug
- Meningkatkan performa PathIterator pada API < 34 (Id4629)
Versi 1.0.0-beta02
10 Januari 2024
Perubahan dalam rilis ini semuanya bertujuan untuk mengurangi ukuran library, yang lebih besar dari yang diperlukan karena asumsi yang dibuat oleh kode native.
androidx.graphics:graphics-path:1.0.0-beta02
dirilis. Versi 1.0.0-beta02 berisi commit ini.
Perbaikan Bug
- Mengurangi ukuran
libandroidx.graphics.path.so
sebesar 96%. (I71397) - Kurangi ukuran
libandroidx.graphics.path.so
sebesar 5%. (I2da7c) - Memperkecil komponen native
androidx.graphics:graphics-path
sebesar 43%. (I8e40d)
Versi 1.0.0-beta01
29 November 2023
androidx.graphics:graphics-path:1.0.0-beta01
dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perubahan API
- Menghapus penggunaan
isAtLeastU()
API eksperimental (Ie9117, b/289269026)
Perbaikan Bug
- Berbagai perbaikan dan peningkatan performa, termasuk cara library menangani conic.
Versi 1.0.0-alpha02
7 Juni 2023
androidx.graphics:graphics-path:1.0.0-alpha02
dirilis. Versi ini dikembangkan di cabang internal.
Fitur Baru
- Memperbaiki masalah pada pemeriksaan versi platform internal yang menyebabkan masalah saat berjalan di pratinjau Android 14 (pemeriksaan versi akan gagal, tetapi mekanisme untuk melakukan hal-hal pada rilis sebelumnya tidak berfungsi dengan benar, terutama di Android 14).
Versi 1.0.0-alpha01
22 Maret 2023
androidx.graphics:graphics-path:1.0.0-alpha01
dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
- Library baru ini memungkinkan kueri data Jalur melalui
PathIterator
API baru. Dengan menggunakan API ini, pemanggil dapat melakukan iterasi melalui semua segmen objek Jalur untuk menentukan operasi dan data untuk segmen tersebut. - Library ini menggunakan API serupa yang diperkenalkan di pratinjau Android 14, tetapi API versi AndroidX ini juga berfungsi pada versi yang kembali ke API 21.
Graphics Core Versi 1.0
Versi 1.0.2
16 Oktober 2024
androidx.graphics:graphics-core:1.0.2
dirilis. Versi 1.0.2 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat instance
SurfaceControl
masih dikelola oleh komposer sistem bahkan setelah dirilis. - Memperbaiki masalah saat instance
HardwareBuffer
yang saat ini ditampilkan tidak akan dirilis setelah dependensi latensi rendah dihapus - Memperbaiki masalah berkedip di perangkat Android 14+ tertentu yang tidak mendukung tanda penggunaan buffering depan
Versi 1.0.1
4 September 2024
androidx.graphics:graphics-core:1.0.1
dirilis. Versi 1.0.1 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat resource memori terkadang tidak dirilis.
Versi 1.0.0
29 Mei 2024
androidx.graphics:graphics-core:1.0.0
dirilis. Versi 1.0.0 berisi commit ini.
Fitur utama 1.0.0
- Rilis stabil resmi library inti grafis. Menyertakan perbaikan bug minor dan peningkatan performa dari 1.0.0-rc01
Versi 1.0.0-rc01
17 April 2024
androidx.graphics:graphics-core:1.0.0-rc01
dirilis. Versi ini dikembangkan di cabang internal.
Perbaikan Bug
- Memperbaiki masalah yang menyebabkan potensi penutupan ganda deskripsi file dengan
CanvasBufferedRendererAPI
dengan perangkat Android tertentu yang menjalankan Android 14. - Memperbaiki masalah saat
FrameBuffer
tidak akan menghapus instance framebuffer dengan benar.
Versi 1.0.0-beta01
13 Desember 2023
androidx.graphics:graphics-core:1.0.0-beta01
dirilis. Versi 1.0.0-beta01 berisi commit ini.
Fitur Baru
- Memperkenalkan API
LowLatencyCanvasView
baru untuk mendukung rendering latensi rendah dengan API grafis 2D Android (Kanvas + Cat) dalam hierarki View. - Memperkenalkan
CanvasBufferedRenderer
API untuk mendukung rendering Canvas dengan akselerasi hardware keHardwareBuffer
. Ini dapat digunakan untuk menggambar sebagian antarmuka pengguna ke dalam buffer yang dapat dikonversi menjadi Bitmap menggunakanBitmap.wrapHardwareBuffer
API.
Perubahan API
- Memperbarui
CanvasBufferRenderer#releaseBuffer
API agar memiliki parameter pagar opsional. Memperbarui dokumentasi untuk menjelaskan kapanRenderResult#fence
ditampilkan. (If1ea7) - Menambahkan metode
draw
keRenderRequest
untuk mendukung pemanfaatan coroutine guna menjadwalkan permintaan gambar. Mengganti nama metode gambar sebelumnya yang menggunakan eksekutor menjadidrawAsync
. Memfaktorkan ulang metodeisClosed()
ke properti. (I5bff6) - Mengekspos parameter format buffering ke
CanvasFrontBufferRenderer
untuk memetakan langsung keCanvasBufferedRenderer.Builder#setBufferFormat
(I0f272) - Membuat
CanvasBufferedRenderer
API untuk menangani rendering kanvas yang dipercepat hardware menjadiHardwareBuffer
. Tindakan ini memberikan implementasi yang di-backport ke Android Q bersama dengan konfigurasi kedalaman swapchainHardwareBuffers
. KonfigurasiColorSpace
masih terbatas untuk Android U+, tetapi penerapan kompatibilitas memberikan perilaku no-op atas nama developer. (I9b1d8) - Tambahkan
setFrameRate
/clearFrameRate
API keSurfaceControlCompat.Transaction
untuk mengontrol kecepatan frame bersama dengan strategi perubahan untuk transisi yang lancar atau default. (I6045c) - Menurunkan level API yang diperlukan untuk
setDataSpace
ke Android Q dari Android T. (I59c34) - Menambahkan callback
onBufferReleased
keGLFrameBufferRenderer
API untuk memberi konsumen kesempatan untuk membersihkan status saat buffering tidak lagi ditampilkan (I8a4e2) - Buat
LowLatencyCanvasView
untuk mendukung kasus penggunaan sederhana dalam merender konten dengan latensi rendah yang disinkronkan dengan rendering hierarki View. Hal ini mengurangi kompleksitas yang terkait dengan pengelolaanSurfaceView
dengan mengelola instanceSurfaceView
secara internal yang diterjemahkan di luar/di dalam layar untuk rendering latensi rendah dan sinkron. (I9253b) - Menambahkan dukungan konfigurasi ruang warna ke
CanvasFrontBufferedRenderer
API. Memperbarui callback multi-buffer untuk juga menyertakanSurfaceControl
yang di-buffer kembali (I24bd9)
Versi 1.0.0-alpha05
6 September 2023
androidx.graphics:graphics-core:1.0.0-alpha05
dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Fitur Baru
- Memperkenalkan
GLFrameBufferRenderer
API. Hal ini memberikan kombinasi dependensi OpenGL, konfigurasi rantai swap, format piksel, dan konfigurasiSurfaceControl
. (Ic775b)
Perubahan API
- Menambahkan parameter lebar + tinggi ke berbagai API callback untuk menyalurkan dimensi dari
SurfaceHolder#Callbacks
. (I7f9fc) - Menambahkan API yang jelas untuk menghapus lapisan depan dan multi buffering. (Ic1f95)
- Menambahkan dukungan untuk mengonfigurasi jenis buffering swapchain yang mendasarinya yang digunakan dalam
GLFrontBufferedRenderer
. (I07a13) - Menambahkan properti kotlin untuk pengambil di
GLFrameBufferRenderer
, anotasiIntRange
untuk entri buffer maksimum, dan anotasiHardwareBufferFormart
danHardwareBufferUsage
untuksetFormat
/setUsage
. (Ief89e) - Memperbarui
setBuffer
API pada transaksiSurfaceControl
untuk menyediakan pagar rilis. (Ice1bb) - Menambahkan
SurfaceControlCompat.Transaction
API untuk mengonfigurasi ruang data serta menetapkan rentang kecerahan yang diperluas. (Ic378d)
Versi 1.0.0-alpha04
7 Juni 2023
androidx.graphics:graphics-core:1.0.0-alpha04
dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Fitur Baru
- Memperkenalkan
CanvasFrontBufferedRenderer
untuk mendukung grafis latensi rendah yang memanfaatkanandroid.graphics.Canvas
API bersama dengan implementasi OpenGL yang ada
Perubahan API
- Mengupdate
SurfaceControlCompat.Transaction#setBuffer
API untuk memungkinkan instanceHardwareBuffer
nullable mencerminkan API platform yang sesuai (I173d7) - Ganti nama metode yang merujuk pada rendering Buffer Ganda menjadi Multi Buffer karena swapchain pendukung dapat berisi lebih dari 2 buffer. (I830d7)
- Buat
CanvasFrontBufferedRenderer
API untuk memungkinkan pihak ketiga memanfaatkan sistem rendering buffering depan menggunakan Canvas API. (Ibfc29)
Perbaikan Bug
- Memperbaiki masalah saat
GLFrontBufferedRenderer
tidak akan merender konten setelah melanjutkan Aktivitas yang sesuai. - Memperbaiki masalah saat konten buffering depan akan dihapus sebelum waktunya.
- Memperbaiki masalah saat
SurfaceHolder.Callbacks
tidak akan dihapus setelah API grafis latensi rendah dirilis.
Versi 1.0.0-alpha03
22 Maret 2023
androidx.graphics:graphics-core:1.0.0-alpha03
dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Perubahan API
- Memperbarui implementasi callback
GLFrontBufferedRenderer
untuk menyediakan objekBufferInfo
yang berisi lebar/tinggi buffering beserta ID buffer frame yang dapat digunakan untuk menargetkan ulang tujuan asli setelah merender ke buffer awal perantara. (I7fe20) - Menggabungkan pembuatan
SyncFence
ke metode factory statis diSyncFenceCompat
. - Menghapus metode kompatibilitas publik untuk
eglDupNativeFenceFDANDROID
dan menggantinya dengan metode factorySyncFenceCompat
untuk pembuatan SyncFence. Hal ini untuk memastikan semua platform API menerima penerapanSyncFence
yang benar, terlepas dari level API. (I849bb) - Menambahkan dokumentasi untuk
FrameBufferRenderer
danSyncStrategy
.- Memindahkan
FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
ke paketandroidx.graphics.opengl
- Memindahkan
SyncStrategy
ke paketandroidx.graphics.opengl
- Memperbarui
RenderCallback#onDraw
dokumen - Memperbarui dokumentasi
RenderCallback#obtainFrameBuffer
yang mengimplementasikan API bertanggung jawab untuk memanggilFrameBuffer.close
- Memperbarui
onDrawComplete
untuk menunjukkan bahwa konsumen bertanggung jawab untuk mengirimkan konten yang akan ditampilkan - Memindahkan antarmuka/class kompatibilitas
SyncFence
ke paketandroidx.hardware
untuk mencerminkan framework - Mengganti nama
SyncFence
API menjadiSyncFenceV19
dan menjadikannya pribadi untuk menggabungkan penggunaan keSyncFenceCompat
yang memanfaatkanSyncFence
API framework jika memungkinkan. (I5149c)
- Memindahkan
- Menambahkan metode
GLFrontBufferedRenderer#cancel
danGLFrontBufferedRenderer#execute
. Yang pertama berguna dalam skenario penolakan telapak tangan saat rendering ke buffering depan harus dibatalkan dan menyembunyikan buffering depan. Yang terakhir berguna dalam skenario untuk memanipulasi objek di thread GL tanpa harus menjadwalkan render. (If0b7f) - Menambahkan API untuk merender langsung ke lapisan buffering ganda. Hal ini membantu merender ulang tampilan setelah melanjutkan serta memberi kesempatan kepada konsumen untuk menentukan secara selektif kapan harus memanfaatkan rendering buffering depan secara dinamis berdasarkan tampilan yang diinginkan untuk dirender. (Ied56c)
- Menambahkan API baru ke
SurfaceControlCompat.Builder
untuk mendukung konfigurasiSurfaceControl
induk dari instanceSurfaceControl
lain selain mekanisme yang ada dariSurfaceView
. (I1d1b6) - Lebih banyak nullability jenis nilai yang ditampilkan dari fungsi tersembunyi yang tidak digunakan lagi (Ibf7b0)
- Menambahkan konstanta ekstensi
EGL_ANDROID_get_native_client_buffer
untuk membuat kueri apakah perangkat Android mendukung impor instanceHardwareBuffer
ke objekEGLClientBuffer
yang dapat digunakan sebagai instanceEGLImage
. (Iad767) - Menambahkan anotasi
@JvmDefaultWithCompatibility
(I8f206)
Versi 1.0.0-alpha02
9 November 2022
androidx.graphics:graphics-core:1.0.0-alpha02
dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan API
- Memperbaiki anotasi
RequiresApi
yang tidak ada untukaddTransactionCommitListener
yang diperkenalkan di Android S (I0a035) - Memperbarui callback Buffering
onDraw<Front/Double>
untuk memberikan matriks transformasi yang dapat diteruskan konsumen ke shader vertex selain lebar/tinggi buffering saat ini. Konsumen bertanggung jawab menggunakan parameter ini untuk melakukan pra-rotasi kode rendering OpenGL dengan benar. (I82f9e)
Perbaikan Bug
- Meningkatkan latensi grafis dengan melakukan pra-rotasi buffering sebelum mengeluarkan transaksi
SurfaceControl
. - Memperbaiki masalah saat log error akan menampilkan error 300d (EGL_BAD_SURFACE).
- Memperbaiki masalah saat
GLFrontBufferedRenderer
menjadi tidak valid setelah Aktivitas terkait yang digunakannya dilanjutkan. - Meningkatkan dukungan untuk emulator dan perangkat Chrome OS.
- Memperbaiki masalah saat lapisan buffering depan mungkin disembunyikan sebelum waktunya.
Versi 1.0.0-alpha01
24 Oktober 2022
androidx.graphics:graphics-core:1.0.0-alpha01
dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
- Rilis awal library AndroidX inti grafis. Ini termasuk API untuk mendukung kasus penggunaan latensi rendah seperti input stilus. Ini juga memperkenalkan beberapa API helper untuk penggunaan OpenGL.
Perubahan API
- Memperkenalkan
GLFrontBufferedRenderer
untuk membantu rendering di depan dan multi-buffer untuk mencapai output rendering berkualitas tinggi dan latensi rendah. - Memperkenalkan
GLRenderer
API guna membantu rendering OpenGL untuk berbagai penyedia Surface sepertiSurfaceView
,TextureView
, dan lainnya.