سبد (0)

آموزش RenderScript اندروید

آموزش RenderScript اندروید

در این آموزش در مورد RenderScript اندروید مطلب خواهیم آموخت. معمولا برنامه های اندروید طوری طراحی شده اند که تا جایی که ممکن است منابع کمتری استفاده کنند. اما برخی برنامه ها مانند بازی های سه بعدی، پردازش هایی با سطح بالا نیاز دارند.

برای اجرای چنین برنامه هایی اندروید RenderScript را معرفی می کند، که framework آن اندروید محور می باشد که برای اجرای برنامه هایی استفاده می شود که فعالیت های به شدت محاسباتی را انجام می دهند. توسعه روی این framework در (NDK) انجام می شود که توسط اندروید ارائه شده است. RenderScrip به شدت برای برنامه هایی که فعالیت هایی مانند فعالیت های زیر را انجام می دهند، مفید می باشد

اجرای سه بعدی

پردازش تصویر (image)

عکاسی کامپیوتری

ویژن کامپیوتر

RenderScrip چگونه کار می کند

framework RenderScrip اساسا بر پایه ی محاسبه ی داده ی هم راستا می باشد. RenderScrip میزان کار برنامه ی شما را روی همه ی پردازشگرهای موجود در دستگاه شما مانند CPU های چند هسته ای و یا GPU ها، پخش می کند. این پخش هم راستای میزان کار برنامه نویس را از نگرنی در مورد بارگذاری متعادل و زمان بندی کار رها می کند. شما می توانید الگوریتم های دقیق تر و پیچیده تری برای برنامه ی خود بنویسید، بدون نگرانی در مورد نیروی کامپیوتری.

چگونگی آغاز

برای استفاده از framework RenderScript باید دو مورد زیر داشته باشید

  1. یک کرنل RenderScript
  2. API های RenderScript

یک کرنل RenderScript

هسته ی مرکزی RenderScript  برنامه ای می باشد که دستورالعمل های پردازش داده را مدیریت می کند و میزان کار روی Central Processing Units را سازماندهی می کند. هسته ی مرکزی (kernel) بخش اصلی سیستم عملیاتی می باشد.

مشابهاً برای اجرای framework RenderScript به یک نسخه ی نوشته شده به نام Kernel نیاز داریم تا پردازش داده ها و درخواست ها ازبرنامه ی را سازماندهی کند، و ویژگی های بیشتری از android OS را، که توسط SDK ارائه شده، به کار بگیرد و همانطور که قبلا ذکر شد، توسعه ی  RenderScript در Native Development Kit از اندروید انجام می شود.

نسخه ی Kernel در استاندارد C-99 از زبان C نوشته شده است. این استاندارد قبل از توسعه ی C++ می باشد. فایل مربوط به نسخه ی kernel از RenderScript معمولا در فایل .rs جای می گیرد. هر فایل به عنوان یک نسخه فراخوانده می شود. نسخه ی Kernel از فایل RenderScript دارای عناصر زیر می باشد.

  • A Language declaration

    ورژن مربوط به زبان RenderScript Kernel را که در این نسخه استفاده شده، اعلام می کند.

  • A package declaration

    این بیانیه پکیج مربوط به کلاس جاوا را نام گذاری می کند که تحت تاثیر این کد kernel خواهد بود.

  • Invokable functions

    شما می توانید این عملکردها را از کد JAVA با شناسه های اختیاری، فرا بخوانید.

  • Script Globals Variables

    اینها درست مانند متغیرهای تعریف شده در زبان برنامه نویسی C و C++ می باشند. شما می توانید از طریق کد JAVA به این متغیرها دسترسی داشته باشید.

 

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

اگر می خواهید از RenderScript در API های خود استفاده کنید، می توانید به دو روش زیر این کار را انجام دهید:

  • android.renderscript

    این API روی دستگاه های اجرایی Android 3.0 و بالاتر موجود می باشد.

  • android.support.v8.renderscript
     این API روی دستگاه های اجرایی Android 2.2   و بالاتر موجود می باشد.

برای اینکه اندروید library را پشتیبانی کند ابزار زیر مورد نیاز می باشند.

ابزار Android SDK ورژن 22.2

ابزار Android SDK Build ورژن 18.1.0

چگونگی استفاده از RenderScript Support Library

ابتدا فایل project.propertiesدر پروژه ی خود را باز کرده و خطوط زیر را به آن اضافه کنید.

 

renderscript.target=18
renderscript.support.mode=true
sdk.buildtools=18.1.0

حالا کلاس اصل خود را که از RenderScrip استفاده می کند باز کرده و یک ایمپورت برای پشتیبانی کلاس های Support Library به آن اضافه کنید، مانند زیر:

 

import android.support.v8.renderscript.*;

در زیر اهداف ذکر شده در بالا را، مربوط به ویژگی هایی که در فایل project.propertiesاضافه می کنیم، مشاهده می کنید.

  • renderscript.target

    ورژن مربوط به bytecode را مشخص می کند که قرار است تولید شود.

  • renderscript.support.mode

    یک ورژن مناسب برای bytecode تولید شده مشخص می کند.

  • sdk.buildtools

    ورژن های ابزار Android SDK را برای استفاده مشخص می کند.

اکنون عملکردهای RenderScript Kernel خود را فراخوانده و الگوریتم های پیچیده ای را در برنامه ی خود محاسبه کنید.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehiمجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامیپرداخت آنلاین -  بانک ملتمعرفی بیاموز در شبکه سهپرداخت آنلاین - بانک اقتصاد نوینپرداخت آنلاین - بانک سامان