کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

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

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

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

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

  • اجرای سه بعدی
  • پردازش تصویر (image)
  • عکاسی کامپیوتری
  • ویژن کامپیوتر

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

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

RenderScripچگونگی آغاز

برای استفاده از چارچوب RenderScript باید دو مورد زیر داشته باشید/p>

                
A RenderScript Kernel
RenderScript APIs
A RenderScript Kernel
            

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

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

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

عناصر
ردیف
A Language declaration ورژن مربوط به زبان RenderScript Kernel را که در این نسخه استفاده شده، اعلام می کند.
1
A package declaration این بیانیه پکیج مربوط به گروه جاوا را نام گذاری می کند که تحت تاثیر این کد kernel خواهد بود.
2
Invokable functions شما می توانید این عملکردها را از کد JAVA با شناسه های اختیاری، فرا بخوانید.
3
Script Globals Variables اینها درست مانند متغیرهای تعریف شده در زبان برنامه نویسی C و C++ می باشند. شما می توانید از طریق کد JAVA به این متغیرها دسترسی داشته باشید.
4

در زیر نمونه ای از کد مربوط به Kernel را می بینید.

           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;‎
        ‎}
            

RenderScript APIs

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

هاAPI
ردیف
android.renderscript این API روی دستگاه های اجرایی Android 3.0 و بالاتر موجود می باشد.
1
android.support.v8.renderscript این API روی دستگاه های اجرایی Android 2.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 را مشخص می کند که قرار است تولید شود.
1
renderscript.support.mode یک ورژن مناسب برای bytecode تولید شده مشخص می کند.
2
sdk.buildtools ورژن های ابزار Android SDK را برای استفاده مشخص می کند.
3

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

1394/07/27 4455 1684
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...