Đồ hoạ
Bảng này liệt kê tất cả cấu phần phần mềm trong nhóm androidx.graphics
.
Cấu phần phần mềm | Bản phát hành ổn định | Bản phát hành dùng thử | Bản phát hành beta | Bản phát hành alpha |
---|---|---|---|---|
graphics-core | 1.0.2 | - | - | - |
graphics-path | 1.0.1 | - | - | - |
hình-đồ-họa | 1.0.1 | - | - | 1.1.0-alpha01 |
Khai báo phần phụ thuộc
Để thêm một phần phụ thuộc trên Graphics, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle
cho ứng dụng hoặc mô-đun:
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") }
Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.
Không có ghi chú phát hành cho cấu phần phần mềm này.
Graphics Phiên bản 1.1
Phiên bản 1.1.0-alpha01
Ngày 11 tháng 12 năm 2024
Phát hành androidx.graphics:graphics-*:1.1.0-alpha01
. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
- Làm lại bản minh hoạ chính thành một Trình chỉnh sửa hình dạng chung. Điều này cho phép bạn nhập các hình dạng từ một đường dẫn svg, chỉnh sửa các đặc điểm được phát hiện theo cách thủ công trong trường hợp bị thiếu trong quy trình tự động và xuất kết quả sang mã có thể dùng trong mã phát hành chính thức. (I1ac13)
- Thay thế các phép đo góc cho tiến trình đường viền hình dạng bằng các phép đo chiều dài đường cong, điều này cho phép sử dụng các hình dạng phức tạp hơn để biến đổi. (I75478) , I390dd
- Cải thiện thuật toán ánh xạ đặc điểm để nhiều hình ảnh chuyển đổi sẽ trông tự nhiên hơn. (I83287)
Thay đổi về API
- Thêm tính năng nhập đường dẫn SVG và trình chuyển đổi tuần tự tính năng. Quy trình thông thường là:
- Sử dụng
SvgPathParser.parseFeatures()
mới để chuyển đổi đường dẫn svg (giá trị của thuộc tínhd
trên phần tửpath
của svg) thànhList<Feature>
. - Bạn có thể sửa đổi, sau đó chuyển đổi tuần tự thành một chuỗi bằng
FeatureSerializer.serialize()
. - Bạn có thể sử dụng chuỗi kết quả trong mã phát hành chính thức, nhập chuỗi đó bằng
FeatureSerializer.parse()
- Xin lưu ý rằng bạn chỉ cần thực hiện bước 1 và 2 một lần và có thể thực hiện với ứng dụng mới. Mã phát hành công khai chỉ cần thực hiện bước 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- Sử dụng
- Hiển thị các đối tượng đa giác và loại đối tượng. Giờ đây, bạn có thể tạo
RoundedPolygons
chung hơn bằng hàm khởi tạo cơ sở lấyList<Features>
. Các đặc điểm chủ yếu là danh sách các đường cong bezier dạng khối lập phương, nhưng chúng được gắn thẻ để giúp thuật toán Morph so khớp giữa hình dạng bắt đầu và kết thúc (các góc lồi được liên kết với các góc lồi và các góc lõm được liên kết với các góc lõm). (I61e76), (I1fc5c) - Thêm tính năng hỗ trợ cho mục tiêu KMP
watchosDeviceArm64
và mục tiêu kotlin 1.9. (Icf15d, b/364652024)
Sửa lỗi
- Khắc phục trường hợp hiếm gặp khi tính năng cuối cùng bị trống. (I390dd)
- Tăng cường tính năng tạo
RoundedPolygon
. (Ib862c, b/360888486) - Khắc phục lỗi khởi chạy
RoundedPolygon
. (I83ddb) - Khắc phục lỗi trong thuật toán để ước tính tâm của đa giác. (Ida147)
Graphics Shapes Phiên bản 1.0
Phiên bản 1.0.0
Ngày 21 tháng 8 năm 2024
Phát hành androidx.graphics:graphics-shapes:1.0.0
, androidx.graphics:graphics-shapes-android:1.0.0
và androidx.graphics:graphics-shapes-desktop:1.0.0
. Phiên bản 1.0.0 bao gồm các thay đổi sau.
Phiên bản 1.0.0-rc01
Ngày 24 tháng 7 năm 2024
Phát hành androidx.graphics:graphics-shapes:1.0.0-rc01
, androidx.graphics:graphics-shapes-android:1.0.0-rc01
và androidx.graphics:graphics-shapes-desktop:1.0.0-rc01
. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.
Phiên bản 1.0.0-beta01
Ngày 1 tháng 5 năm 2024
Phát hành androidx.graphics:graphics-shapes:1.0.0-beta01
, androidx.graphics:graphics-shapes-android:1.0.0-beta01
và androidx.graphics:graphics-shapes-desktop:1.0.0-beta01
. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.
Thay đổi về API
- Cho phép xoay trước các hình dạng để bắt đầu tại một điểm khác. Thay đổi này cho phép các hình dạng
pillStar
bắt đầu các đường cong từ một điểm không phải mặc định trên chu vi. Điều này có thể hữu ích khi tạo ảnh động vẽ đường dẫn của hình dạng, để bắt đầu vẽ từ một vị trí cụ thể trên đường viền của hình dạng. (Ifbb4d, b/324303807) - Thêm các hàm
calculateBounds()
vào Morph, tương tự như các hàm trênRoundedPolygon
. (I8a3b6, b/325463575)
Phiên bản 1.0.0-alpha05
Ngày 7 tháng 2 năm 2024
Phát hành androidx.graphics:graphics-shapes:1.0.0-alpha05
, androidx.graphics:graphics-shapes-android:1.0.0-alpha05
và androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05
. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.
Tính năng mới
- Thư viện hiện cung cấp các hàm
pill()
vàpillStar()
mới để dễ dàng tạo các hình tròn/hình sao này. Ngoài ra, còn có các API mới để tính toán các giới hạn chính xác cần thiết cho một hình dạng (các giới hạn trước đó chỉ là ước tính dựa trên điểm neo và điểm điều khiển của đường cong Bezier cơ bản), cũng như các giới hạn tối đa có thể có. Điều này có thể hữu ích để xác định kích thước của vùng chứa chứa hình dạng đó nếu hình dạng đó sẽ được xoay trong vùng chứa đó. (I71827)
Thay đổi về API
- Giờ đây, bạn có nhiều lựa chọn hơn để truy xuất các giới hạn chính xác và tối đa. (I6d49f, b/317286450)
Sửa lỗi
- Đôi khi, có hiện tượng kết xuất khi vẽ các hình dạng này dưới dạng đường dẫn nét vẽ, do vấn đề kết xuất cấp thấp liên quan đến các đường cong có độ dài bằng 0. Lỗi này đã được khắc phục bằng cách loại bỏ tất cả các đường cong có độ dài bằng 0 (các hình dạng không cần đến, do đó cũng tiết kiệm được chi phí hao tổn của các đường dẫn do các hình dạng tạo ra).
Phiên bản 1.0.0-alpha04
Ngày 13 tháng 12 năm 2023
Phát hành androidx.graphics:graphics-shapes:1.0.0-alpha04
, androidx.graphics:graphics-shapes-android:1.0.0-alpha04
và androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04
. Phiên bản 1.0.0-alpha04 bao gồm những thay đổi sau.
Tính năng mới
- Bản phát hành này bao gồm một số thay đổi về API, cũng như các bản sửa lỗi.
- Nhiều thay đổi đối với API giúp thư viện Shapes tương thích với KMP. Điều này giúp bạn dễ dàng gọi từ mã không phải Android (chẳng hạn như mã Compose không phân biệt Android). Ví dụ: không có loại Android nào trong API, chẳng hạn như các loại PointF, Matrix và Path trước đó.
- Chúng tôi cũng đã thực hiện một số thay đổi đối với API và cách triển khai vì lý do hiệu suất, cụ thể là để giảm thiểu việc phân bổ (và thu thập) đối tượng. Ví dụ: việc di chuyển từ PointF sang các tham số Float riêng biệt sẽ tránh việc phân bổ nhiều cấu trúc PointF tạm thời để lưu giữ các đỉnh đó.
Thay đổi về API
- Thay thế
Morph.asMutableCubics
bằng một hàm để lặp lại trênMutableCubics
. Thay đổi giao diện chức năngPointTransformer
, giờ đây, giao diện này sẽ lấy toạ độ x và y củaPoint
và trả vềTransformedResult
(được tạo bằng toạ độ x và y đã chuyển đổi) (I6719e) - Xoá hàm khởi tạo
Cubic
công khai và chuyển hàm này thành hàm nhà máy. (I409ce) - Thêm các API vẽ và biến đổi dành riêng cho Android (I079f6, b/292289543)
- Loại bỏ các phần phụ thuộc Android (Iadc1c, b/292289543)
- Tên thuộc tính neo và điều khiển hiện hợp lý hơn (If13bd, b/294562941)
- Thay đổi tham số
PointF
thành cặpFloat
(Id4705, b/276466399, b/290254314) progress
hiện được chuyển trực tiếp đến các lệnh vẽMorph
(Icdca2)
Sửa lỗi
- Khắc phục lỗi khi tạo các hình lớn. (I4fd66, b/313497325)
Phiên bản 1.0.0-alpha03
Ngày 7 tháng 6 năm 2023
Phát hành androidx.graphics:graphics-shapes:1.0.0-alpha03
. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.
Thay đổi về API
- Thêm hàm
RoundedPolygon.rectangle()
mới (I78e7e, b/280322189) - Các hàm Star và Circle hiện không viết hoa và được gọi thông qua đối tượng đồng hành của
RoundedPolygon
: ví dụ:RoundedPolygon.star(...)
(I14735)
Sửa lỗi
- Khắc phục lỗi làm mượt (Ibf894)
- Khắc phục lỗi xảy ra khi hình dạng bắt đầu và kết thúc giống nhau. Phân bổ không gian có sẵn tốt hơn ở cạnh để cắt, trước tiên hãy sử dụng không gian có sẵn để làm tròn, sau đó làm mượt nếu còn không gian. (Ibd320, b/277936300)
Phiên bản 1.0.0-alpha02
Ngày 19 tháng 4 năm 2023
Phát hành androidx.graphics:graphics-shapes:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Thay đổi về API
- Lớp cao cấp Polygon đã được hợp nhất với lớp con
RoundedPolygon
; tất cả đa giác hiện đều là đa giác bo tròn [không bắt buộc]. - Hàm Star (vẫn trả về
RoundedPolygon
như trước) hiện lấy giá trịinnerRadius
thay vì tham sốinnerRadiusRatio
trước đó. Tham số này có cùng đơn vị với tham số bán kính hiện có, giúp mọi thứ trở nên đơn giản và nhất quán hơn. Ngoài ra, tham sốnumOuterVertices
đã được đổi tên thànhnumVerticesPerRadius
để làm rõ rằng cùng một số được áp dụng cho cả bán kính bên trong và bên ngoài. - Trước đây,
CornerRounding.radius
được ghi nhận là tương ứng với kích thước của đa giác, nhưng đó là (và phải là) một giá trị tuyệt đối, chứ không phải giá trị tương đối. Tài liệu đã được cập nhật và chú thích giới hạn giá trị tối đa là 1.0 đã được khắc phục.
Phiên bản 1.0.0-alpha01
Ngày 5 tháng 4 năm 2023
Graphics-Shapes là một thư viện mới cho phép dễ dàng tạo và kết xuất các hình đa giác bo tròn, cũng như biến đổi (ảnh động) đơn giản và tự động giữa các hình dạng khác nhau.
Phát hành androidx.graphics:graphics-shapes:1.0.0-alpha01
. Phiên bản này được phát hành từ một nhánh nội bộ.
Tính năng mới
- Sử dụng Polygon API để tạo đa giác đều và đa giác hình sao với số đỉnh mong muốn.
- Sử dụng các tham số
CornerRounding
không bắt buộc để chỉ định bán kính bo tròn và các tham số làm mượt cho các góc, tạo ra các hình đa giác có góc bo tròn. - Sử dụng API
Morph(Polygon, Polygon)
mới để tự động tính toán hình dạng "biến đổi" có thể đặt tiến trình từ 0 đến 1 để tạo ảnh động giữa hình dạng bắt đầu và kết thúc. Tạo ảnh động cho tiến trình đó theo thời gian, vẽ kết quả trên mọi khung hình để tạo ảnh động mượt mà giữa các hình tròn mới này.
Graphics Path Phiên bản 1.0
Phiên bản 1.0.1
Ngày 1 tháng 5 năm 2024
Phát hành androidx.graphics:graphics-path:1.0.1
. Phiên bản 1.0.1 bao gồm các thay đổi sau.
Sửa lỗi
- Cải tiến cờ trình biên dịch.
Phiên bản 1.0.0
Ngày 6 tháng 3 năm 2024
Phát hành androidx.graphics:graphics-path:1.0.0
.
Phiên bản 1.0.0-rc01
Ngày 21 tháng 2 năm 2024
Phát hành androidx.graphics:graphics-path:1.0.0-rc01
. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.
Sửa lỗi
- Cải thiện hiệu suất của PathIterator trên API < 34 (Id4629)
Phiên bản 1.0.0-beta02
Ngày 10 tháng 1 năm 2024
Các thay đổi trong bản phát hành này đều nhằm giảm kích thước của thư viện, vốn lớn hơn mức cần thiết do các giả định được đưa ra bởi mã gốc.
Phát hành androidx.graphics:graphics-path:1.0.0-beta02
. Phiên bản 1.0.0-beta02 bao gồm các thay đổi sau.
Sửa lỗi
- Giảm 96% kích thước của
libandroidx.graphics.path.so
. (I71397) - Giảm 5% kích thước của
libandroidx.graphics.path.so
. (I2da7c) - Rút gọn các thành phần gốc của
androidx.graphics:graphics-path
xuống 43%. (I8e40d)
Phiên bản 1.0.0-beta01
Ngày 29 tháng 11 năm 2023
Phát hành androidx.graphics:graphics-path:1.0.0-beta01
. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.
Thay đổi về API
- Xoá các trường hợp sử dụng API
isAtLeastU()
thử nghiệm (Ie9117, b/289269026)
Sửa lỗi
- Nhiều bản sửa lỗi và cải tiến hiệu suất, bao gồm cả cách thư viện xử lý các hình nón.
Phiên bản 1.0.0-alpha02
Ngày 7 tháng 6 năm 2023
Phát hành androidx.graphics:graphics-path:1.0.0-alpha02
. Phiên bản này được phát triển trong một nhánh nội bộ.
Tính năng mới
- Khắc phục vấn đề với tính năng kiểm tra phiên bản nền tảng nội bộ gây ra sự cố khi chạy trên bản xem trước Android 14 (tính năng kiểm tra phiên bản sẽ không thành công, nhưng cơ chế thực hiện các thao tác trên các bản phát hành trước đó không hoạt động chính xác trên Android 14).
Phiên bản 1.0.0-alpha01
Ngày 22 tháng 3 năm 2023
Phát hành androidx.graphics:graphics-path:1.0.0-alpha01
. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
- Thư viện mới này cho phép truy vấn dữ liệu Đường dẫn thông qua API
PathIterator
mới. Khi sử dụng API này, phương thức gọi có thể lặp lại qua tất cả các phân đoạn của đối tượng Đường dẫn để xác định thao tác và dữ liệu cho các phân đoạn đó. - Thư viện này sử dụng các API tương tự được giới thiệu trong bản dùng thử Android 14, nhưng phiên bản AndroidX của API này cũng hoạt động trên các phiên bản trở về API 21.
Graphics Core Phiên bản 1.0
Phiên bản 1.0.2
Ngày 16 tháng 10 năm 2024
Phát hành androidx.graphics:graphics-core:1.0.2
. Phiên bản 1.0.2 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục vấn đề trong đó các thực thể
SurfaceControl
vẫn được trình kết hợp hệ thống quản lý ngay cả sau khi được phát hành. - Khắc phục vấn đề trong đó thực thể
HardwareBuffer
hiện đang hiển thị sẽ không được phát hành sau khi các phần phụ thuộc có độ trễ thấp được xử lý - Khắc phục vấn đề nhấp nháy trên một số thiết bị Android 14 trở lên không hỗ trợ cờ sử dụng vùng đệm trước
Phiên bản 1.0.1
Ngày 4 tháng 9 năm 2024
Phát hành androidx.graphics:graphics-core:1.0.1
. Phiên bản 1.0.1 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục vấn đề đôi khi tài nguyên bộ nhớ không được giải phóng.
Phiên bản 1.0.0
Ngày 29 tháng 5 năm 2024
Phát hành androidx.graphics:graphics-core:1.0.0
. Phiên bản 1.0.0 bao gồm các thay đổi sau.
Các tính năng chính của phiên bản 1.0.0
- Bản phát hành chính thức và ổn định của thư viện graphics-core. Bao gồm các bản sửa lỗi nhỏ và cải tiến hiệu suất từ phiên bản 1.0.0-rc01
Phiên bản 1.0.0-rc01
Ngày 17 tháng 4 năm 2024
Phát hành androidx.graphics:graphics-core:1.0.0-rc01
. Phiên bản này được phát triển trong một nhánh nội bộ.
Sửa lỗi
- Khắc phục vấn đề có thể dẫn đến việc đóng hai lần chỉ số mô tả tệp bằng
CanvasBufferedRendererAPI
với một số thiết bị Android chạy Android 14. - Khắc phục vấn đề
FrameBuffer
không xoá đúng cách các thực thể vùng đệm khung.
Phiên bản 1.0.0-beta01
Ngày 13 tháng 12 năm 2023
Phát hành androidx.graphics:graphics-core:1.0.0-beta01
. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.
Tính năng mới
- Ra mắt API
LowLatencyCanvasView
mới để hỗ trợ kết xuất độ trễ thấp bằng API đồ hoạ 2D của Android (Canvas + Paint) trong hệ phân cấp Chế độ xem. - Giới thiệu API
CanvasBufferedRenderer
để hỗ trợ tính năng kết xuất Canvas tăng tốc phần cứng choHardwareBuffer
. Bạn có thể dùng lớp này để vẽ một phần giao diện người dùng vào vùng đệm có thể chuyển đổi thành Bitmap bằng APIBitmap.wrapHardwareBuffer
.
Thay đổi về API
- Cập nhật API
CanvasBufferRenderer#releaseBuffer
để có tham số hàng rào không bắt buộc. Cập nhật tài liệu để mô tả thời điểmRenderResult#fence
được trả về. (If1ea7) - Thêm phương thức
draw
vàoRenderRequest
để hỗ trợ việc tận dụng coroutine nhằm lên lịch yêu cầu vẽ. Đổi tên phương thức vẽ trước đó đã sử dụng một trình thực thi thànhdrawAsync
. Tái cấu trúc phương thứcisClosed()
thành một thuộc tính. (I5bff6) - Đã hiển thị tham số định dạng vùng đệm cho
CanvasFrontBufferRenderer
để ánh xạ trực tiếp đếnCanvasBufferedRenderer.Builder#setBufferFormat
(I0f272) - Tạo API
CanvasBufferedRenderer
để xử lý việc kết xuất canvas tăng tốc phần cứng thànhHardwareBuffer
. Điều này cung cấp một phương thức triển khai điều chỉnh cho phiên bản cũ cho Android Q cùng với cấu hình chiều sâu chuỗi hoán đổi làHardwareBuffers
. Cấu hìnhColorSpace
vẫn chỉ giới hạn ở Android U+, tuy nhiên, việc triển khai khả năng tương thích sẽ thay mặt cho nhà phát triển cung cấp hành vi không hoạt động. (I9b1d8) - Thêm API
setFrameRate
/clearFrameRate
vàoSurfaceControlCompat.Transaction
để kiểm soát tốc độ khung hình cùng với chiến lược thay đổi cho các hiệu ứng chuyển đổi liền mạch hoặc mặc định. (I6045c) - Giảm cấp độ API bắt buộc cho
setDataSpace
xuống Android Q từ Android T. (I59c34) - Thêm lệnh gọi lại
onBufferReleased
vào APIGLFrameBufferRenderer
để người dùng có cơ hội dọn dẹp trạng thái khi vùng đệm không còn được hiển thị (I8a4e2) - Tạo
LowLatencyCanvasView
để hỗ trợ trường hợp sử dụng đơn giản về việc kết xuất nội dung có độ trễ thấp được đồng bộ hoá với quá trình kết xuất hệ phân cấp Chế độ xem. Điều này giúp giảm bớt sự phức tạp liên quan đến việc quản lýSurfaceView
bằng cách quản lý nội bộ thực thểSurfaceView
được dịch ra/trên màn hình để kết xuất đồng bộ và có độ trễ thấp tương ứng. (I9253b) - Thêm tính năng hỗ trợ cấu hình không gian màu vào API
CanvasFrontBufferedRenderer
. Cập nhật lệnh gọi lại nhiều vùng đệm để cũng bao gồmSurfaceControl
được lưu vào vùng đệm lui (I24bd9)
Phiên bản 1.0.0-alpha05
Ngày 6 tháng 9 năm 2023
Phát hành androidx.graphics:graphics-core:1.0.0-alpha05
. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.
Tính năng mới
- Ra mắt API
GLFrameBufferRenderer
. Thư viện này cung cấp một tổ hợp các phần phụ thuộc OpenGL, cấu hình chuỗi hoán đổi, định dạng pixel và cấu hìnhSurfaceControl
. (Ic775b)
Thay đổi về API
- Thêm các tham số chiều rộng + chiều cao vào nhiều API gọi lại để chuyển kích thước từ
SurfaceHolder#Callbacks
. (I7f9fc) - Thêm API xoá để xoá cả lớp trước và lớp nhiều vùng đệm. (Ic1f95)
- Thêm tính năng hỗ trợ để định cấu hình loại vùng đệm cơ bản của các chuỗi hoán đổi được sử dụng trong
GLFrontBufferedRenderer
. (I07a13) - Thêm các thuộc tính kotlin cho phương thức getter trên
GLFrameBufferRenderer
, chú thíchIntRange
cho các mục nhập bộ đệm tối đa và chú thíchHardwareBufferFormart
vàHardwareBufferUsage
chosetFormat
/setUsage
tương ứng. (Ief89e) - Cập nhật API
setBuffer
trên các giao dịchSurfaceControl
để cung cấp hàng rào phát hành. (Ice1bb) - Thêm các API
SurfaceControlCompat.Transaction
để định cấu hình không gian dữ liệu cũng như đặt phạm vi độ sáng mở rộng. (Ic378d)
Phiên bản 1.0.0-alpha04
Ngày 7 tháng 6 năm 2023
Phát hành androidx.graphics:graphics-core:1.0.0-alpha04
. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.
Tính năng mới
- Giới thiệu
CanvasFrontBufferedRenderer
để hỗ trợ đồ hoạ có độ trễ thấp bằng cách tận dụng APIandroid.graphics.Canvas
cùng với việc triển khai OpenGL hiện có
Thay đổi về API
- Cập nhật API
SurfaceControlCompat.Transaction#setBuffer
để cho phép các thực thểHardwareBuffer
rỗng phản ánh API nền tảng tương ứng (I173d7) - Thay đổi tên các phương thức tham chiếu đến tính năng kết xuất Vùng đệm kép thành Vùng đệm nhiều vì chuỗi hoán đổi sao lưu có thể chứa nhiều hơn 2 vùng đệm. (I830d7)
- Tạo API
CanvasFrontBufferedRenderer
để cho phép 3ps tận dụng hệ thống kết xuất vùng đệm trước bằng Canvas API. (Ibfc29)
Sửa lỗi
- Khắc phục vấn đề
GLFrontBufferedRenderer
không hiển thị nội dung sau khi tiếp tục Hoạt động tương ứng. - Khắc phục vấn đề nội dung được lưu vào bộ đệm phía trước bị xoá sớm.
- Khắc phục vấn đề
SurfaceHolder.Callbacks
không bị xoá sau khi phát hành API đồ hoạ có độ trễ thấp.
Phiên bản 1.0.0-alpha03
Ngày 22 tháng 3 năm 2023
Phát hành androidx.graphics:graphics-core:1.0.0-alpha03
. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.
Thay đổi về API
- Cập nhật cách triển khai lệnh gọi lại
GLFrontBufferedRenderer
để cung cấp đối tượngBufferInfo
chứa chiều rộng/chiều cao vùng đệm cùng với giá trị nhận dạng vùng đệm khung có thể dùng để nhắm mục tiêu lại đích đến ban đầu sau khi kết xuất vào vùng đệm tạm thời trung gian. (I7fe20) - Tổng hợp việc tạo
SyncFence
thành phương thức nhà máy tĩnh trênSyncFenceCompat
. - Xoá phương thức tương thích công khai cho
eglDupNativeFenceFDANDROID
để sử dụng phương thức ban đầu củaSyncFenceCompat
để tạo SyncFence. Điều này nhằm đảm bảo tất cả các nền tảng API đều nhận được cách triển khaiSyncFence
chính xác, bất kể cấp độ API. (I849bb) - Thêm tài liệu cho
FrameBufferRenderer
vàSyncStrategy
.- Di chuyển
FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
sang góiandroidx.graphics.opengl
- Di chuyển
SyncStrategy
sang góiandroidx.graphics.opengl
- Cập nhật tài liệu về
RenderCallback#onDraw
- Cập nhật tài liệu về
RenderCallback#obtainFrameBuffer
mà trình triển khai API chịu trách nhiệm gọiFrameBuffer.close
- Cập nhật
onDrawComplete
để cho biết người dùng chịu trách nhiệm điều phối nội dung để hiển thị - Di chuyển giao diện/lớp tương thích
SyncFence
sang góiandroidx.hardware
để phản ánh khung - Đổi tên API
SyncFence
thànhSyncFenceV19
và đặt ở chế độ riêng tư để hợp nhất các trường hợp sử dụng thànhSyncFenceCompat
, tận dụng APISyncFence
của khung bất cứ khi nào có thể. (I5149c)
- Di chuyển
- Thêm các phương thức
GLFrontBufferedRenderer#cancel
vàGLFrontBufferedRenderer#execute
. Phương thức trước hữu ích trong các trường hợp chống tì tay, trong đó bạn cần huỷ kết xuất vào vùng đệm trước và ẩn vùng đệm trước. Loại sau hữu ích trong các trường hợp cần thao tác với các đối tượng trên luồng GL mà không cần phải lên lịch kết xuất. (If0b7f) - Thêm API để kết xuất trực tiếp vào lớp vùng đệm đôi. Điều này hỗ trợ kết xuất lại một cảnh sau khi tiếp tục, cũng như tạo cơ hội cho người dùng xác định một cách linh hoạt thời điểm tận dụng tính năng kết xuất đệm trước dựa trên cảnh mong muốn để kết xuất. (Ied56c)
- Thêm API mới vào
SurfaceControlCompat.Builder
để hỗ trợ việc định cấu hìnhSurfaceControl
mẹ từ một thực thểSurfaceControl
khác ngoài cơ chế hiện có từSurfaceView
. (I1d1b6) - Thêm tính chất rỗng của kiểu dữ liệu trả về của các hàm ẩn không dùng nữa (Ibf7b0)
- Thêm hằng số tiện ích
EGL_ANDROID_get_native_client_buffer
để truy vấn xem thiết bị Android có hỗ trợ nhập các thực thểHardwareBuffer
vào các đối tượngEGLClientBuffer
có thể được sử dụng dưới dạng thực thểEGLImage
hay không. (Iad767) - Thêm chú thích
@JvmDefaultWithCompatibility
(I8f206)
Phiên bản 1.0.0-alpha02
Ngày 9 tháng 11 năm 2022
Phát hành androidx.graphics:graphics-core:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Thay đổi về API
- Khắc phục lỗi thiếu chú thích
RequiresApi
choaddTransactionCommitListener
đã đưa vào Android S (I0a035) - Cập nhật lệnh gọi lại vùng đệm
onDraw<Front/Double>
để cung cấp ma trận biến đổi nơi người tiêu dùng có thể chuyển đến chương trình đổ bóng đỉnh chóp (vertex shader) bên cạnh chiều rộng/chiều cao hiện tại của vùng đệm. Người tiêu dùng chịu trách nhiệm sử dụng các tham số này để xoay trước đúng cách mã kết xuất OpenGL. (I82f9e)
Sửa lỗi
- Cải thiện độ trễ đồ hoạ bằng cách xoay trước vùng đệm trước khi thực hiện giao dịch
SurfaceControl
. - Khắc phục sự cố trong đó nhật ký lỗi cho thấy lỗi 300d (EGL_BAD_SURFACE).
- Khắc phục vấn đề
GLFrontBufferedRenderer
không hợp lệ sau khi Hoạt động tương ứng mà mã này sử dụng tiếp tục hoạt động. - Tăng cường hỗ trợ cho trình mô phỏng và thiết bị Chrome OS.
- Khắc phục vấn đề trong đó lớp đệm phía trước có thể bị ẩn sớm.
Phiên bản 1.0.0-alpha01
Ngày 24 tháng 10 năm 2022
Phát hành androidx.graphics:graphics-core:1.0.0-alpha01
. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
- Bản phát hành đầu tiên của thư viện đồ hoạ cốt lõi AndroidX. Bản phát hành gồm API hỗ trợ các trường hợp sử dụng có độ trễ thấp như nhập liệu bằng bút cảm ứng. Việc này cũng ra mắt API trợ giúp để sử dụng trong OpenGL.
Thay đổi về API
- Giới thiệu
GLFrontBufferedRenderer
để hỗ trợ kết xuất trước và nhiều vùng đệm nhằm đạt được cả độ trễ thấp lẫn đầu ra kết xuất chất lượng cao. - Giới thiệu API
GLRenderer
để hỗ trợ tính năng kết xuất hình ảnh OpenGL cho những trình cung cấp nền tảng nhưSurfaceView
,TextureView
và các trình cung cấp khác.