پاسخ داده شده: multi-stream processing
سلام
کلا یک مطلبی خدمتون عرض کنم لزوم استفاده از queue برای شما روشن شه.زمانی که capture فریم ها را می خونه باید فریم ها را نگهداری کنه و اغلب هم جهت نگهداری از صف یا صف چرخشی استفاده میشه.فازغ از اینکه این صف چطور قرار پردازش بشه اونو دیگه consumer تصمیم می گیره اگر consumer تک تردد باشه اغلب جدید ترین عنصر را برمیداره و صف را خالی می کنه و اگر مالتی تردد باشه هر تردد در لحظه t قدیمی ترین فریم را بر میداره و کسی هم به محتوی صف کاری نداره و اغلب موارد صف ها به صورت چرخشی هستند. در ضمن کیو هیچ سرباری نداره .
جواب سوال 3 همه طبق اصول SOLID در design pattern هم پیش بریم هر کلاس باید وظیفه مشخص داشته باشه فکر نمی کنم دستکاری یا پردازش تصویر جزء وظایف کلاس capture باشه .
راه حل خیلی اصولیش میشه کلاس image dispatcher که فریم به اون تحویل داده میشه همه پروسس ها پروفایل خودشون رو به اون اعلام می کنن و اون به محض دریافت فریم تمامی نمونه تصاویر مورد نظر را بدون duplicate ایجاد می کنه
کلا یک مطلبی خدمتون عرض کنم لزوم استفاده از queue برای شما روشن شه.زمانی که capture فریم ها را می خونه باید فریم ها را نگهداری کنه و اغلب هم جهت نگهداری از صف یا صف چرخشی استفاده میشه.فازغ از اینکه این صف چطور قرار پردازش بشه اونو دیگه consumer تصمیم می گیره اگر consumer تک تردد باشه اغلب جدید ترین عنصر را برمیداره و صف را خالی می کنه و اگر مالتی تردد باشه هر تردد در لحظه t قدیمی ترین فریم را بر میداره و کسی هم به محتوی صف کاری نداره و اغلب موارد صف ها به صورت چرخشی هستند. در ضمن کیو هیچ سرباری نداره .
جواب سوال 3 همه طبق اصول SOLID در design pattern هم پیش بریم هر کلاس باید وظیفه مشخص داشته باشه فکر نمی کنم دستکاری یا پردازش تصویر جزء وظایف کلاس capture باشه .
راه حل خیلی اصولیش میشه کلاس image dispatcher که فریم به اون تحویل داده میشه همه پروسس ها پروفایل خودشون رو به اون اعلام می کنن و اون به محض دریافت فریم تمامی نمونه تصاویر مورد نظر را بدون duplicate ایجاد می کنه
