RenderScript در برنامه نویسی اندروید

4 سال پیش

RenderScript در برنامه نویسی اندروید

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

 

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

برای ارائه این برنامه ها اندروید با عملکرد بالا RenderScript را معرفی کرد.

این فریم ورک مبتنی بر اندروید است که برای اجرای برنامه هایی که کارهای محاسباتی بسیار بالایی را انجام می دهند استفاده می شود.

توسعه در این چارچوب در کیت توسعه بومی (NDK) ارائه شده توسط اندروید انجام می شود.

RenderScript برای برنامه هایی که انواع زیر را انجام می دهند بسیار مفید است:

  • ۳D Rendering
  • Image Processing
  • Computational Photography
  • Computer Vision

نحوه عملکرد RenderScript

فریم ورک RenderScript اساساً بر اساس محاسبه موازی داده ها است.

این کار برنامه شما را روی همه پردازنده های موجود در دستگاه شما مانند پردازنده های چند هسته ای یا GPU توزیع می کند.

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

بدون نگرانی از قدرت محاسباتی می توانید الگوریتم های دقیق و پیچیده تری را برای برنامه خود بنویسید.

چگونه شروع کنیم

برای استفاده از چارچوب RenderScript باید دو چیز زیر را داشته باشید:

  • A RenderScript Kernel
  • RenderScript APIs

 

A RenderScript Kernel

کرنل برنامه ای است که دستورالعملهای پردازش داده را مدیریت می کند و حجم کار را در واحدهای پردازش مرکزی مدیریت می کند.

یک کرنل بخشی اساسی از سیستم عامل است.

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

Kernel Script با استاندارد C-99 زبان C نوشته شده است.

این استاندارد قبل از توسعه C ++ بود. یک پرونده Kernel Script در RenderScript که معمولاً در پرونده .rs قرار می گیرد.

هر فایل به عنوان یک اسکریپت فراخوانی می شود. Kernel Script می تواند شامل عناصر زیر باشد:

  • A Language declaration

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

  • A package declaration

این اعلام نام بسته کلاس جاوا را که تحت تأثیر این کد هسته قرار می گیرد، نامگذاری می کند.

  • A package declaration

با آرگومان های دلخواه می توانیداز این توابع در کد جاوای خود استفاده کنید.

  •  Script Global Variables

اینها دقیقاً مانند متغیرهای تعریف شده در زبان برنامه نویسی C و C ++ هستند. از کد جاوا خود می توانید به این متغیرها دسترسی پیدا کنید.

 

در زیر کد نمونه یک کرنل وجود دارد:

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 و بالاتر موجود است.

 

برای پشتیبانی از کتابخانه اندروید ، ابزار زیر لازم است –

  • Latest Android SDK Tools version
  • Latest Android SDK Build-tools version

نحوه استفاده از کتابخانه پشتیبانی RenderScript

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

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

اکنون کلاس اصلی خود را که از RenderScript استفاده می کند باز کرده و به ترتیب زیر برای کلاسهای پشتیبانی کتابخانه وارد کنید

import android.support.v8.renderscript.*;

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

  • renderscript.target

نسخه کد بایت را  تولید  می کند.

  • renderscript.support.mode

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

  • sdk.buildtools

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

 

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

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
  10. ارائه دهنده محتوا در برنامه نویسی اندروید
  11. قطعات در برنامه نویسی اندروید
  12. Intent و فیلتر در برنامه نویسی اندروید
  13. طرح بندی رابط کاربری در برنامه نویسی اندروید
  14. کنترل های رابط کاربری در برنامه نویسی اندروید
  15. مدیریت رویدادها در برنامه نویسی اندروید
  16. استایل و تم ها در برنامه نویسی اندروید
  17. اجزای سفارشی در برنامه نویسی اندروید
  18. کشیدن و رها کردن در برنامه نویسی اندروید
  19. نوتیفیکیشن ها در برنامه نویسی اندروید
  20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
  21. ارسال ایمیل در برنامه نویسی اندروید
  22. ارسال پیامک در برنامه نویسی اندروید
  23. تماس های تلفنی در برنامه نویسی اندروید
  24. انتشار برنامه اندروید
  25. آموزش Alert Dialog در برنامه نویسی اندروید
  26. انیمیشن در برنامه نویسی اندروید
  27. ضبط صدا در برنامه نویسی اندروید
  28. مدیریت صدا در برنامه نویسی اندروید
  29. آموزش Auto Complete در برنامه نویسی اندروید
  30. بهترین شیوه ها در برنامه نویسی اندروید
  31. بلوتوث در برنامه نویسی اندروید
  32. استفاده از دوربین در برنامه نویسی اندروید
  33. کلیپ بورد در برنامه نویسی اندروید
  34. فونت سفارشی در برنامه نویسی اندروید
  35. پشتیبان گیری از داده ها در برنامه نویسی اندروید
  36.  ابزارهای توسعه دهنده در برنامه نویسی اندروید
  37. آموزش شبیه ساز در برنامه نویسی اندروید
  38. اتصال به فیس بوک در برنامه نویسی اندروید
  39. حرکات لمسی در برنامه نویسی اندروید
  40. آموزش گوگل مپ در برنامه نویسی اندروید
  41. افکت های تصویر در برنامه نویسی اندروید
  42. Image Switcher در برنامه نویسی اندروید
  43. حافظه داخلی در برنامه نویسی اندروید
  44. آموزش کار با JetPlayer در برنامه نویسی اندروید
  45. JSON Parser در برنامه نویسی اندروید
  46. ارتباط با LinkedIn در برنامه نویسی اندروید
  47. نوار پیشرفت Spinner در برنامه نویسی اندروید
  48. بومی سازی در برنامه نویسی اندروید
  49. صفحه Login در برنامه نویسی اندروید
  50. MediaPlayer در برنامه نویسی اندروید
  51. Multitouch در برنامه نویسی اندروید
  52. Navigation در برنامه نویسی اندروید
  53. اتصال به اینترنت در برنامه نویسی اندروید
  54. NFC در برنامه نویسی اندروید
  55. PHP و MYSQL در برنامه نویسی اندروید
  56. Progress Circle دربرنامه نویسی اندروید
  57. Progress Bar در برنامه نویسی اندروید
  58. Push Notification در برنامه نویسی اندروید
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه