অ্যান্ড্রয়েড ৯ একই দিকে নির্দেশিত দুটি বা ততোধিক ফিজিক্যাল ক্যামেরা ডিভাইসের সমন্বয়ে গঠিত একটি নতুন লজিক্যাল ক্যামেরা ডিভাইসের মাধ্যমে মাল্টি-ক্যামেরা ডিভাইসের জন্য API সমর্থন চালু করেছে। লজিক্যাল ক্যামেরা ডিভাইসটি একটি একক ক্যামেরা ডিভাইস/ক্যাপচারসেশন হিসাবে একটি অ্যাপের সাথে উন্মুক্ত করা হয় যা HAL-সমন্বিত মাল্টি-ক্যামেরা বৈশিষ্ট্যগুলির সাথে ইন্টারঅ্যাকশনের অনুমতি দেয়। অ্যাপগুলি ঐচ্ছিকভাবে অন্তর্নিহিত ফিজিক্যাল ক্যামেরা স্ট্রিম, মেটাডেটা এবং নিয়ন্ত্রণগুলি অ্যাক্সেস এবং নিয়ন্ত্রণ করতে পারে।

চিত্র ১. মাল্টি-ক্যামেরা সাপোর্ট
এই চিত্রটিতে, বিভিন্ন ক্যামেরা আইডি রঙিন কোডেড। অ্যাপটি একই সময়ে প্রতিটি ফিজিক্যাল ক্যামেরা থেকে কাঁচা বাফার স্ট্রিম করতে পারে। পৃথক নিয়ন্ত্রণ সেট করা এবং বিভিন্ন ফিজিক্যাল ক্যামেরা থেকে পৃথক মেটাডেটা গ্রহণ করাও সম্ভব।
উদাহরণ এবং উৎস
মাল্টি-ক্যামেরা ডিভাইসগুলির বিজ্ঞাপন অবশ্যই লজিক্যাল মাল্টি-ক্যামেরা ক্ষমতা সহকারে করতে হবে।
ক্যামেরা ক্লায়েন্টরা getPhysicalCameraIds() কল করে একটি নির্দিষ্ট লজিক্যাল ক্যামেরা তৈরি করা ভৌত ডিভাইসের ক্যামেরা আইডি জিজ্ঞাসা করতে পারে। ফলাফলের অংশ হিসাবে ফিরে আসা আইডিগুলি setPhysicalCameraId() এর মাধ্যমে পৃথকভাবে ভৌত ডিভাইসগুলি নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এই জাতীয় পৃথক অনুরোধের ফলাফলগুলি getPhysicalCameraResults() ব্যবহার করে সম্পূর্ণ ফলাফল থেকে জিজ্ঞাসা করা যেতে পারে।
পৃথক ফিজিক্যাল ক্যামেরা অনুরোধগুলি কেবলমাত্র সীমিত প্যারামিটারের উপসেট সমর্থন করতে পারে। সমর্থিত প্যারামিটারগুলির একটি তালিকা পেতে, ডেভেলপাররা getAvailablePhysicalCameraRequestKeys() এ কল করতে পারেন।
ভৌত ক্যামেরা স্ট্রিমগুলি শুধুমাত্র নন-প্রসেসিং অনুরোধের জন্য এবং শুধুমাত্র মনোক্রোম এবং বেয়ার সেন্সরের জন্য সমর্থিত।
বাস্তবায়ন
সহায়তা চেকলিস্ট
HAL পাশে লজিক্যাল মাল্টি-ক্যামেরা ডিভাইস যোগ করতে:
- যেকোনো লজিক্যাল ক্যামেরা ডিভাইসের জন্য একটি
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERAক্ষমতা যোগ করুন, যেটি দুটি বা ততোধিক ফিজিক্যাল ক্যামেরা দ্বারা সমর্থিত এবং একটি অ্যাপের সংস্পর্শেও আসে। - স্ট্যাটিক
ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDSমেটাডেটা ফিল্ডে ফিজিক্যাল ক্যামেরা আইডির তালিকা তৈরি করুন। - ফিজিক্যাল ক্যামেরা স্ট্রিমগুলির পিক্সেলের মধ্যে সম্পর্ক স্থাপনের জন্য প্রয়োজনীয় গভীরতা-সম্পর্কিত স্ট্যাটিক মেটাডেটা পূরণ করুন:
ANDROID_LENS_POSE_ROTATION,ANDROID_LENS_POSE_TRANSLATION,ANDROID_LENS_INTRINSIC_CALIBRATION,ANDROID_LENS_DISTORTION,ANDROID_LENS_POSE_REFERENCE. স্ট্যাটিক
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPEমেটাডেটা ফিল্ডটি এতে সেট করুন:-
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE: মেইন-মেইন মোডে সেন্সরগুলির জন্য, কোনও হার্ডওয়্যার শাটার/এক্সপোজার সিঙ্ক নেই। -
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED: প্রধান-মাধ্যমিক মোডে সেন্সরগুলির জন্য, হার্ডওয়্যার শাটার/এক্সপোজার সিঙ্ক।
-
পৃথক ফিজিক্যাল ক্যামেরার জন্য সমর্থিত প্যারামিটারের তালিকা দিয়ে
ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYSপূরণ করুন। লজিক্যাল ডিভাইস যদি পৃথক অনুরোধ সমর্থন না করে তবে তালিকাটি খালি থাকতে পারে।যদি পৃথক অনুরোধ সমর্থিত হয়, তাহলে ক্যাপচার অনুরোধের অংশ হিসেবে আসা পৃথক
physicalCameraSettingsপ্রক্রিয়া করুন এবং প্রয়োগ করুন এবং সেই অনুযায়ী পৃথকphysicalCameraMetadataযুক্ত করুন।ক্যামেরা HAL ডিভাইস ভার্সন 3.5 (Android 10 এ প্রবর্তিত) বা উচ্চতর সংস্করণের জন্য, লজিক্যাল ক্যামেরার পিছনে থাকা বর্তমান সক্রিয় ফিজিক্যাল ক্যামেরার আইডি ব্যবহার করে
ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_IDরেজাল্ট কীটি পূরণ করুন।
Android 9 চালিত ডিভাইসগুলির জন্য, ক্যামেরা ডিভাইসগুলিকে অবশ্যই একটি লজিক্যাল YUV বা RAW স্ট্রিমকে একই আকারের (RAW স্ট্রিমগুলির ক্ষেত্রে প্রযোজ্য নয়) এবং দুটি ফিজিক্যাল ক্যামেরা থেকে একই ফর্ম্যাটের ফিজিক্যাল স্ট্রিম দিয়ে প্রতিস্থাপন করতে হবে। এটি Android 10 চালিত ডিভাইসগুলির ক্ষেত্রে প্রযোজ্য নয়।
Android 10 চালিত ডিভাইসগুলির জন্য যেখানে ক্যামেরা HAL ডিভাইস সংস্করণ 3.5 বা তার বেশি, ক্যামেরা ডিভাইসটি অবশ্যই isStreamCombinationSupported সমর্থন করতে হবে। ফিজিক্যাল স্ট্রিম ধারণকারী একটি নির্দিষ্ট স্ট্রিম সংমিশ্রণ সমর্থিত কিনা তা জিজ্ঞাসা করার জন্য অ্যাপগুলির জন্য সমর্থিত।
স্ট্রিম কনফিগারেশন ম্যাপ
একটি লজিক্যাল ক্যামেরার জন্য, একটি নির্দিষ্ট হার্ডওয়্যার স্তরের ক্যামেরা ডিভাইসের জন্য বাধ্যতামূলক স্ট্রিম সমন্বয়গুলি CameraDevice.createCaptureSession এ যা প্রয়োজন তার অনুরূপ। স্ট্রিম কনফিগারেশন ম্যাপের সমস্ত স্ট্রিম অবশ্যই লজিক্যাল স্ট্রিম হতে হবে।
বিভিন্ন আকারের ভৌত সাব-ক্যামেরা সহ RAW ক্ষমতা সমর্থনকারী একটি লজিক্যাল ক্যামেরা ডিভাইসের জন্য, যদি কোনও অ্যাপ একটি লজিক্যাল RAW স্ট্রিম কনফিগার করে, তাহলে লজিক্যাল ক্যামেরা ডিভাইসটিকে বিভিন্ন সেন্সর আকারের ভৌত সাব-ক্যামেরাগুলিতে স্যুইচ করা উচিত নয়। এটি নিশ্চিত করে যে বিদ্যমান RAW ক্যাপচার অ্যাপগুলি ভেঙে না যায়।
RAW ক্যাপচারের সময় ফিজিক্যাল সাব-ক্যামেরাগুলির মধ্যে স্যুইচ করে HAL-প্রয়োগকৃত অপটিক্যাল জুমের সুবিধা নিতে, অ্যাপগুলিকে লজিক্যাল RAW স্ট্রিমের পরিবর্তে ফিজিক্যাল সাব-ক্যামেরা স্ট্রিমগুলি কনফিগার করতে হবে।
গ্যারান্টিযুক্ত স্ট্রিম সংমিশ্রণ
লজিক্যাল ক্যামেরা এবং এর অন্তর্নিহিত ভৌত ক্যামেরা উভয়কেই তাদের ডিভাইস স্তরের জন্য প্রয়োজনীয় বাধ্যতামূলক স্ট্রিম সমন্বয়ের নিশ্চয়তা দিতে হবে।
একটি লজিক্যাল ক্যামেরা ডিভাইস তার হার্ডওয়্যার স্তর এবং ক্ষমতার উপর ভিত্তি করে একটি ফিজিক্যাল ক্যামেরা ডিভাইসের মতোই কাজ করা উচিত। এটি সুপারিশ করা হয় যে এর ফিচার সেটটি পৃথক ফিজিক্যাল ক্যামেরার একটি সুপারসেট হবে।
অ্যান্ড্রয়েড ৯ চালিত ডিভাইসগুলিতে, প্রতিটি গ্যারান্টিযুক্ত স্ট্রিম সংমিশ্রণের জন্য, লজিক্যাল ক্যামেরাটি অবশ্যই সমর্থন করবে:
একটি লজিক্যাল YUV_420_888 বা কাঁচা স্ট্রিমকে একই আকার এবং ফর্ম্যাটের দুটি ফিজিক্যাল স্ট্রিম দিয়ে প্রতিস্থাপন করা হচ্ছে, প্রতিটি একটি পৃথক ফিজিক্যাল ক্যামেরা থেকে, কারণ আকার এবং ফর্ম্যাটটি ফিজিক্যাল ক্যামেরা দ্বারা সমর্থিত।
যদি লজিক্যাল ক্যামেরা RAW সক্ষমতার বিজ্ঞাপন না দেয়, কিন্তু অন্তর্নিহিত ভৌত ক্যামেরাগুলি করে, তাহলে প্রতিটি ভৌত ক্যামেরা থেকে একটি করে দুটি কাঁচা স্ট্রিম যোগ করা হচ্ছে। এটি সাধারণত তখন ঘটে যখন ভৌত ক্যামেরাগুলির সেন্সরের আকার ভিন্ন হয়।
একই আকার এবং বিন্যাসের লজিক্যাল স্ট্রিমের পরিবর্তে ফিজিক্যাল স্ট্রিম ব্যবহার করা। যখন ফিজিক্যাল এবং লজিক্যাল স্ট্রিমের ন্যূনতম ফ্রেম সময়কাল একই থাকে তখন এটি ক্যাপচারের ফ্রেম রেটকে ধীর করবে না।
কর্মক্ষমতা এবং শক্তি বিবেচনা
কর্মক্ষমতা:
- রিসোর্সের সীমাবদ্ধতার কারণে ফিজিক্যাল স্ট্রিম কনফিগার এবং স্ট্রিমিং করলে লজিক্যাল ক্যামেরার ক্যাপচার রেট ধীর হয়ে যেতে পারে।
- যদি অন্তর্নিহিত ক্যামেরাগুলিকে ভিন্ন ফ্রেম রেটে রাখা হয়, তাহলে ফিজিক্যাল ক্যামেরা সেটিংস প্রয়োগ করলে ক্যাপচার রেট ধীর হয়ে যেতে পারে।
শক্তি:
- ডিফল্ট ক্ষেত্রে HAL-এর পাওয়ার অপ্টিমাইজেশন কাজ করে চলেছে।
- ফিজিক্যাল স্ট্রিম কনফিগার বা অনুরোধ করলে HAL-এর অভ্যন্তরীণ পাওয়ার অপ্টিমাইজেশন ওভাররাইড হতে পারে এবং আরও বেশি পাওয়ার ব্যবহার হতে পারে।
কাস্টমাইজেশন
আপনি নিম্নলিখিত উপায়ে আপনার ডিভাইস বাস্তবায়ন কাস্টমাইজ করতে পারেন।
- লজিক্যাল ক্যামেরা ডিভাইসের ফিউজড আউটপুট সম্পূর্ণরূপে HAL বাস্তবায়নের উপর নির্ভর করে। ফিজিক্যাল ক্যামেরা থেকে ফিউজড লজিক্যাল স্ট্রিম কীভাবে নেওয়া হবে তার সিদ্ধান্ত অ্যাপ এবং অ্যান্ড্রয়েড ক্যামেরা ফ্রেমওয়ার্কের কাছে স্বচ্ছ।
- ব্যক্তিগত শারীরিক অনুরোধ এবং ফলাফল ঐচ্ছিকভাবে সমর্থিত হতে পারে। এই ধরনের অনুরোধে উপলব্ধ পরামিতিগুলির সেট সম্পূর্ণরূপে নির্দিষ্ট HAL বাস্তবায়নের উপর নির্ভরশীল।
- অ্যান্ড্রয়েড ১০ থেকে, HAL
getCameraIdListএ কিছু বা সমস্ত PHYSICAL_ID বিজ্ঞাপন না দেওয়ার সিদ্ধান্ত নিয়ে একটি অ্যাপ দ্বারা সরাসরি খোলা যেতে পারে এমন ক্যামেরার সংখ্যা কমাতে পারে।getPhysicalCameraCharacteristicsকল করার পরে অবশ্যই ফিজিক্যাল ক্যামেরার বৈশিষ্ট্যগুলি ফেরত দিতে হবে।
বৈধতা
লজিক্যাল মাল্টি-ক্যামেরা ডিভাইসগুলিকে অন্যান্য নিয়মিত ক্যামেরার মতো ক্যামেরা CTS পাস করতে হবে। এই ধরণের ডিভাইসকে লক্ষ্য করে তৈরি টেস্ট কেসগুলি LogicalCameraDeviceTest মডিউলে পাওয়া যাবে।
এই তিনটি আইটিএস পরীক্ষা চিত্রগুলির সঠিক ফিউজিং সহজতর করার জন্য মাল্টি-ক্যামেরা সিস্টেমগুলিকে লক্ষ্য করে:
-
scene1/test_multi_camera_match.py -
scene4/test_multi_camera_alignment.py -
sensor_fusion/test_multi_camera_frame_sync.py
দৃশ্য ১ এবং দৃশ্য ৪ পরীক্ষাগুলি ITS-in-a-box পরীক্ষার রিগ দিয়ে পরিচালিত হয়। test_multi_camera_match পরীক্ষাটি নিশ্চিত করে যে দুটি ক্যামেরা সক্রিয় থাকলে ছবির কেন্দ্রের উজ্জ্বলতা মিলে যায়। test_multi_camera_alignment পরীক্ষাটি নিশ্চিত করে যে ক্যামেরার ব্যবধান, ওরিয়েন্টেশন এবং বিকৃতি পরামিতিগুলি সঠিকভাবে লোড করা হয়েছে। যদি মাল্টি-ক্যামেরা সিস্টেমে একটি ওয়াইড FoV ক্যামেরা (>90o) থাকে, তাহলে ITS বক্সের rev2 সংস্করণ প্রয়োজন।
Sensor_fusion হল একটি দ্বিতীয় পরীক্ষামূলক যন্ত্র যা বারবার, নির্ধারিত ফোনের গতি সক্ষম করে এবং দাবি করে যে জাইরোস্কোপ এবং চিত্র সেন্সর টাইমস্ট্যাম্পগুলি মিলে যায় এবং মাল্টি-ক্যামেরা ফ্রেমগুলি সিঙ্ক্রোনাইজে রয়েছে।
সমস্ত বাক্স AcuSpec, Inc. ( www.acuspecinc.com , fred@acuspecinc.com) এবং MYWAY Manufacturing ( www.myway.tw , sales@myway.tw) এর মাধ্যমে পাওয়া যাবে। এছাড়াও, rev1 ITS বাক্সটি West-Mark ( www.west-mark.com , dgoodman@west-mark.com) এর মাধ্যমে কেনা যাবে।
সেরা অনুশীলন
অ্যাপের সামঞ্জস্য বজায় রেখে মাল্টি-ক্যামেরা দ্বারা সক্ষম বৈশিষ্ট্যগুলির সম্পূর্ণ সুবিধা নিতে, লজিক্যাল মাল্টি-ক্যামেরা ডিভাইস বাস্তবায়নের সময় এই সেরা অনুশীলনগুলি অনুসরণ করুন:
- (অ্যান্ড্রয়েড ১০ বা তার বেশি)
getCameraIdListথেকে ফিজিক্যাল সাব-ক্যামেরা লুকান। এটি অ্যাপগুলির মাধ্যমে সরাসরি খোলা যেতে পারে এমন ক্যামেরার সংখ্যা হ্রাস করে, অ্যাপগুলির জটিল ক্যামেরা নির্বাচন যুক্তি থাকার প্রয়োজনীয়তা দূর করে। - (Android 11 বা উচ্চতর) অপটিক্যাল জুম সমর্থনকারী লজিক্যাল মাল্টি-ক্যামেরা ডিভাইসের জন্য,
ANDROID_CONTROL_ZOOM_RATIOAPI প্রয়োগ করুন এবং শুধুমাত্র আকৃতির অনুপাত ক্রপিংয়ের জন্যANDROID_SCALER_CROP_REGIONব্যবহার করুন।ANDROID_CONTROL_ZOOM_RATIOডিভাইসটিকে জুম আউট করতে এবং আরও ভাল নির্ভুলতা বজায় রাখতে সক্ষম করে। এই ক্ষেত্রে, HAL-কেANDROID_SCALER_CROP_REGION, ANDROID_CONTROL_AE_REGIONS,ANDROID_CONTROL_AE_REGIONS,ANDROID_CONTROL_AWB_REGIONS,ANDROID_CONTROL_AF_REGIONS, এবংANDROID_STATISTICS_FACE_LANDMARKSএর স্থানাঙ্ক সিস্টেম সামঞ্জস্য করতে হবে যাতে জুম-পরবর্তী দৃশ্য ক্ষেত্রকে সেন্সর সক্রিয় অ্যারে হিসেবে বিবেচনা করা যায়।ANDROID_SCALER_CROP_REGIONকীভাবেANDROID_CONTROL_ZOOM_RATIOANDROID_STATISTICS_FACE_RECTANGLESএকসাথে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য,camera3_crop_reprocess#croppingদেখুন। - বিভিন্ন ক্ষমতা সম্পন্ন ফিজিক্যাল ক্যামেরা সহ মাল্টি-ক্যামেরা ডিভাইসের জন্য, নিশ্চিত করুন যে ডিভাইসটি একটি নিয়ন্ত্রণের জন্য একটি নির্দিষ্ট মান বা পরিসরের জন্য সমর্থন বিজ্ঞাপন দেয় শুধুমাত্র যদি পুরো জুম পরিসরটি মান বা পরিসরকে সমর্থন করে। উদাহরণস্বরূপ, যদি লজিক্যাল ক্যামেরাটি একটি আল্ট্রাওয়াইড, একটি ওয়াইড এবং একটি টেলিফটো ক্যামেরা দিয়ে তৈরি হয়, তাহলে নিম্নলিখিতগুলি করুন:
- যদি ফিজিক্যাল ক্যামেরার অ্যাক্টিভ অ্যারের আকার ভিন্ন হয়, তাহলে ক্যামেরা HAL-কে অবশ্যই ফিজিক্যাল ক্যামেরার অ্যাক্টিভ
ANDROID_STATISTICS_FACE_RECTANGLESথেকেANDROID_SCALER_CROP_REGION,ANDROID_CONTROL_AE_REGIONS, ANDROID_CONTROL_AWB_REGIONS ,ANDROID_CONTROL_AWB_REGIONS,ANDROID_CONTROL_AF_REGIONS, এবংANDROID_STATISTICS_FACE_LANDMARKSএর জন্য লজিক্যাল ক্যামেরার অ্যাক্টিভ অ্যারেতে ম্যাপিং করতে হবে যাতে অ্যাপের দৃষ্টিকোণ থেকে, স্থানাঙ্ক সিস্টেমটি লজিক্যাল ক্যামেরার অ্যাক্টিভ অ্যারের আকার হয়। - যদি ওয়াইড এবং টেলিফটো ক্যামেরা অটোফোকাস সমর্থন করে, কিন্তু আল্ট্রাওয়াইড ক্যামেরাটি ফিক্সড ফোকাস হয়, তাহলে নিশ্চিত করুন যে লজিক্যাল ক্যামেরাটি অটোফোকাস সমর্থনের বিজ্ঞাপন দিচ্ছে। HAL কে আল্ট্রাওয়াইড ক্যামেরার জন্য একটি অটোফোকাস স্টেট মেশিন সিমুলেট করতে হবে যাতে অ্যাপটি যখন আল্ট্রাওয়াইড লেন্সে জুম আউট করে, তখন অন্তর্নিহিত ফিজিক্যাল ক্যামেরাটি ফিক্সড ফোকাস তা অ্যাপের কাছে স্বচ্ছ হয় এবং সমর্থিত AF মোডের জন্য অটোফোকাস স্টেট মেশিনগুলি প্রত্যাশা অনুযায়ী কাজ করে।
- যদি ওয়াইড এবং টেলিফটো ক্যামেরা 4K @ 60 fps সাপোর্ট করে এবং আল্ট্রাওয়াইড ক্যামেরা শুধুমাত্র 4K @ 30 fps, অথবা 1080p @ 60 fps সাপোর্ট করে, কিন্তু 4K @ 60 fps না করে, তাহলে নিশ্চিত করুন যে লজিক্যাল ক্যামেরাটি তার সমর্থিত স্ট্রিম কনফিগারেশনে 4k @ 60 fps বিজ্ঞাপন দিচ্ছে না। এটি লজিক্যাল ক্যামেরার ক্ষমতার অখণ্ডতা নিশ্চিত করে, নিশ্চিত করে যে অ্যাপটি 1 এর কম
ANDROID_CONTROL_ZOOM_RATIOমান সহ 4k @ 60 fps অর্জন না করার সমস্যার সম্মুখীন হবে না।
- যদি ফিজিক্যাল ক্যামেরার অ্যাক্টিভ অ্যারের আকার ভিন্ন হয়, তাহলে ক্যামেরা HAL-কে অবশ্যই ফিজিক্যাল ক্যামেরার অ্যাক্টিভ
- অ্যান্ড্রয়েড ১০ এবং তার পরবর্তী ভার্সনে, ফিজিক্যাল স্ট্রিম সহ স্ট্রিম কম্বিনেশন সমর্থন করার জন্য লজিক্যাল মাল্টি-ক্যামেরা প্রয়োজন হয় না। যদি HAL ফিজিক্যাল স্ট্রিম সহ কম্বিনেশন সমর্থন করে:
- (অ্যান্ড্রয়েড ১১ বা উচ্চতর) স্টেরিও এবং মোশন ট্র্যাকিংয়ের মতো ব্যবহারের ক্ষেত্রে আরও ভালভাবে পরিচালনা করার জন্য, হার্ডওয়্যার দ্বারা অর্জন করা সম্ভব ফিজিক্যাল স্ট্রিম আউটপুটগুলির দৃশ্যের ক্ষেত্রটি যতটা বড় করা যায় ততটা বড় করুন। তবে, যদি একটি ফিজিক্যাল স্ট্রিম এবং একটি লজিক্যাল স্ট্রিম একই ফিজিক্যাল ক্যামেরা থেকে উদ্ভূত হয়, তাহলে হার্ডওয়্যার সীমাবদ্ধতা ফিজিক্যাল স্ট্রিমের দৃশ্যের ক্ষেত্রটিকে লজিক্যাল স্ট্রিমের মতোই হতে বাধ্য করতে পারে।
- একাধিক ফিজিক্যাল স্ট্রিম দ্বারা সৃষ্ট মেমরির চাপ মোকাবেলা করার জন্য, নিশ্চিত করুন যে অ্যাপগুলি ফ্রি বাফারগুলি (যে বাফারগুলি গ্রাহক দ্বারা প্রকাশিত হয়, কিন্তু প্রযোজক দ্বারা এখনও সারিবদ্ধ হয় না) ডিলোকেট করার জন্য
discardFreeBuffersব্যবহার করে যদি কোনও ফিজিক্যাল স্ট্রিম কিছু সময়ের জন্য নিষ্ক্রিয় থাকে বলে আশা করা হয়। - যদি বিভিন্ন ফিজিক্যাল ক্যামেরা থেকে ফিজিক্যাল স্ট্রিম সাধারণত একই অনুরোধের সাথে সংযুক্ত না থাকে, তাহলে নিশ্চিত করুন যে অ্যাপগুলি
surface groupব্যবহার করে যাতে দুটি অ্যাপ-মুখী সারফেসকে ব্যাক করার জন্য একটি বাফার কিউ ব্যবহার করা হয়, যার ফলে মেমরির খরচ কম হয়।