Thứ Năm, 28 tháng 3, 2019

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên tối thiểu nhất có thể.

Nhưng một số ứng dụng như một số game 3D cần xử lý cấp cao trên Android.

Để cung cấp cho các ứng dụng này, android hiệu suất cao đã giới thiệu RenderScript. Nó là khung dựa trên Android được sử dụng để chạy các ứng dụng thực hiện các tác vụ tính toán rất cao. 

Học lập trình Android chuyên nghiệp
Học lập trình Android chuyên nghiệp

Việc phát triển trên khung này được thực hiện trong Bộ phát triển bản địa (NDK) do lập trình Android cung cấp. RenderScript cực kỳ hữu ích cho các ứng dụng thực hiện các loại hành động sau

Kết xuất 3D


Đang xử lý hình ảnh

Nhiếp ảnh tính toán

Tầm nhìn máy tính

Cách thức hoạt động của RenderScript

Khung RenderScript về cơ bản dựa trên tính toán song song dữ liệu. Nó phân phối khối lượng công việc ứng dụng của bạn trên tất cả các bộ xử lý có sẵn trên thiết bị của bạn như CPU ​​hoặc GPU đa lõi.

Phân phối khối lượng công việc song song này giải phóng lập trình viên khỏi sự căng thẳng của cân bằng tải và lập lịch làm việc.

Bạn có thể viết các thuật toán chi tiết và phức tạp hơn cho ứng dụng của mình mà không phải lo lắng về sức mạnh tính toán.

Cách bắt đầu


Để sử dụng RenderScript Framework, bạn phải tuân theo hai điều -

Hạt nhân RenderScript

API RenderScript

Hạt nhân RenderScript

Nhân là một chương trình quản lý các hướng dẫn xử lý dữ liệu và quản lý khối lượng công việc trên Bộ xử lý trung tâm. Hạt nhân là một phần cơ bản của hệ điều hành.

Tương tự để chạy khung RenderScript, chúng ta cần một tập lệnh viết có tên là Kernel để quản lý tất cả các yêu cầu xử lý dữ liệu từ ứng dụng của chúng tôi và sử dụng nhiều tính năng hơn của HĐH

Android do NDK cung cấp và như đã đề cập trước đó rằng việc phát triển RenderScript được thực hiện trong Bản địa Bộ phát triển của Android.

Tập lệnh Kernel được viết theo tiêu chuẩn C-99 của ngôn ngữ C. Tiêu chuẩn này là trước khi phát triển C ++. Tệp kịch bản kernel RenderScript thường được đặt trong tệp .rs .

Mỗi tập tin được gọi là một kịch bản. Một tập lệnh RenderScript Kernel có thể chứa các thành phần sau.

Không.Yếu tố & mô tả
1Một tuyên bố ngôn ngữ

Nó tuyên bố phiên bản của ngôn ngữ kernel RenderScript được sử dụng trong tập lệnh này.
2Một tờ khai gói
Khai báo này đặt tên gói của lớp Java sẽ bị ảnh hưởng bởi Mã hạt nhân này.
3Chức năng bất khả xâm phạm

Bạn có thể gọi các hàm bất khả xâm phạm này từ mã JAVA của mình bằng các đối số tùy ý.
4Script toàn cầu biến

Đây giống như các biến được định nghĩa trong ngôn ngữ lập trình C và C ++. Bạn có thể truy cập các biến này từ mã JAVA của bạn.
Sau đây là Mã mẫu của hạt nhân
uchar4 __convert__((kernel)) invert(uchar4 in, uint32_t x, uint32_t y) {
   uchar4 out = in;
   out.r = 255 - in.r;
   out.g = 255 - in.g;
   return out;
}

API RenderScript


Nếu bạn muốn sử dụng RenderScript trong API của mình, bạn có thể thực hiện theo hai cách sau

Không.API & Mô tả
1android.renderscript

API này khả dụng trên các thiết bị chạy Android 3.0 trở lên.
2android.support.v8.renderscript

API này khả dụng trên các thiết bị chạy Android 2.2 trở lên.
Để thư viện hỗ trợ Android cần có các công cụ sau

Phiên bản công cụ SDK Android mới nhất

Phiên bản công cụ xây dựng SDK Android mới nhất

Cách sử dụng Thư viện hỗ trợ RenderScript

Đầu tiên Mở tệp project.properIES trong dự án của bạn và thêm các dòng sau trong tệp
renderscript.target=18
renderscript.support.mode=true
sdk.buildtools=18.1.0

Bây giờ hãy mở lớp chính của bạn, sử dụng RenderScript và thêm nhập cho các lớp Thư viện hỗ trợ như sau

import android.support.v8.renderscript.*;

Sau đây là các mục đích của các thuộc tính được đề cập ở trên mà chúng tôi thêm vào trong tệp project.properIES .

Không.Thuộc tính dự án & Mô tả
1tái hiện.target

Nó chỉ định phiên bản mã byte sẽ được tạo.
2tái hiện.support.mode

Nó chỉ định một phiên bản tương thích để mã byte được tạo trở lại.
3sdk.buildtools

Nó Chỉ định các phiên bản của công cụ xây dựng SDK Android để sử dụng.
Bây giờ hãy gọi các hàm RenderScript Kernel của bạn và tính toán các thuật toán phức tạp trong ứng dụng của bạn.

Không có nhận xét nào:

Đăng nhận xét

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...