Thứ Năm, 8 tháng 11, 2018

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ụ dưới dạng tài nguyên tối thiểu nhất có thể. Nhưng một số ứng dụng như một số trò chơi 3D cần xử lý cấp cao trên Android.

Để cung cấp cho các ứng dụng này hiệu suất cao Android đã giới thiệu RenderScript. Nó là khuôn khổ 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 cơ bản
Học lập trình Android cơ bản

Sự phát triển trên khuôn khổ này được thực hiện trong bộ phát triển bản địa (NDK) do 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 đây

Link đăng ký : Học lập trình Android cơ bản

Dựng hình 3D

Đang xử lý hình ảnh

Computational Photography

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

Cách hoạt động của RenderScript
Khuôn khổ của 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ộ vi xử lý có sẵn trên thiết bị của bạn như CPU ​​đa lõi hoặc GPU.

Sự phân bố công việc song song này giải phóng cho lập trình viên khỏi sự căng thẳng của cân bằng tải và lập kế hoạ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ề khả năng tính toán.

Cách bắt đầu

Để sử dụng Framework RenderScript, bạn phải có hai thứ sau đây -

Một hạt nhân RenderScript

API RenderScript

Một hạt nhân RenderScript

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

Tương tự như vậy để chạy framework RenderScript, chúng ta cần một kịch bản lệnh 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 ta và sử dụng nhiều tính năng của hệ điều hành Android được cung cấp bởi NDK và như đã đề cập trước đó. Bộ phát triển Android.

Kernel Script được viết bằng chuẩn C-99 của ngôn ngữ C. Tiêu chuẩn này trước khi phát triển C ++. Tệp tập lệnh hạt nhân RenderScript thường được đặt trong tệp .rs . Mỗi tập tin được gọi là một kịch bản. Tập lệnh hạt nhân RenderScript có thể chứa các phần tử sau

Sr.NoYếu tố & Mô tả
1Tuyên bố ngôn ngữ

Nó khai báo phiên bản của ngôn ngữ hạt nhân RenderScript được sử dụng trong tập lệnh này.
2Khai báo 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ã Kernel này.
3Hàm không thể tham gia

Bạn có thể gọi các hàm này có thể invokable từ mã JAVA của bạn với các đối số tùy ý.
4Kịch bản toàn cầu biến

Đây cũng 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

Sr.NoAPI & 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ác công cụ sau đây là bắt buộc
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.properties trong dự án của bạn và thêm dòng sau vào tệp -
renderscript.target=18
renderscript.support.mode=true
sdk.buildtools=18.1.0
Bây giờ mở lớp chính của bạn sử dụng RenderScript và thêm một nhập khẩu cho các lớp thư viện hỗ trợ như sau:

import android.support.v8.renderscript.*;

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

Sr.NoThuộc tính dự án & Mô tả
1renderscript.target

Nó chỉ định phiên bản mã byte được tạo ra.
2renderscript.support.mode

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

Nó chỉ định các phiên bản của công cụ xây dựng Android SDK để sử dụng.
Bây giờ gọi 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 ...