PDA

View Full Version : فیلم گرفتن از صفحه نمایش



mousa1992
پنج شنبه 01 تیر 1391, 18:48 عصر
سلام دوستان
یک بار این سوالو پرسیدم جوابی نگرفتم متاسفانه
میخوام از صفحه فیلم بگیرم و در طرف دیگر اونو به صورت همزمان نمایش بدم
این کارو با گرفتن عکس از سیستم و نمایش اون سمت سرور انجام دادم ولی خب فشار زیادی به cpu وارد میکنه
و اگر بخوایم دوتا کلاینت رو به صورت همزان ببینیم فک کنم سی پی یو منفجر بشه :لبخند:
خواهش میکنم اگه راه دیگه ای وجود داره لطف کنین توضیح بدید

mousa1992
پنج شنبه 01 تیر 1391, 19:31 عصر
دوستان کسی نمیدونه !
حداقل پست رو مشاهده کنید ، به همینم راضیم :گریه:

maktoom
پنج شنبه 01 تیر 1391, 22:20 عصر
سلام

من دارم مشاهده می کنم:لبخند:

اما سوال اصلی چرا فیلمبرداری؟ چرا ریموت نه؟
بنظر دورترین راه حل برای سوالتون رو انتخاب کردید. هرجور حساب می کنم می بینم این راه منطقی نیست.
مگر اینکه شرایط خاصی دارید که ایجاب می کنه ز این روش استفاده کنید.

mousa1992
جمعه 02 تیر 1391, 20:54 عصر
سلام دوست عزیز
متشکرم که نیگا کردین :لبخند:
ممکنه راهنماییم کنید ، در مورد ریموت و فیلمبرداری متشکرم و منتظرم :قلب:

barnamenevisforme
جمعه 02 تیر 1391, 22:02 عصر
سلام
در مورد remote گزینه remote desktop رو در help and support سیستم عامل windows جستجو کنید.نرم افزار ها ی دیگه ای هم واسه نمایش و یا کنترل desktop موجوده.
یکی از نرم افزار های خوب و سبک برای فیلمبرداری(فقط فیلمبردای) از صفحه نمایش bbflashback هستش.

mousa1992
جمعه 02 تیر 1391, 22:04 عصر
دوست عزیز سلام
من میخوام با سی شارپ خودم این برنامه ها رو بنویسم !!

barnamenevisforme
جمعه 02 تیر 1391, 22:18 عصر
سلام

این کارو با گرفتن عکس از سیستم و نمایش اون سمت سرور انجام دادم ولی خب فشار زیادی به cpu وارد میکنه
عکس ها رو از چه طریقی منتقل کردید؟
server & client روی یه شبکه محلین یا روی internet؟

mousa1992
جمعه 02 تیر 1391, 23:54 عصر
روی شبکه محلی (ولی مشکلم اینجا نیست ، مشکل اینجاس که فرایند گرفتن عکس های متوالی سنگینه !) اگر در مورد ریموت اطلاعاتی دارید لطف کنید متشکرم

barnamenevisforme
شنبه 03 تیر 1391, 06:19 صبح
سلام
من خودم تا حالا امتحان نکردم که فرآیند گرفتن عکس از صفحه چقدر وقت cpu رو میگیره،ولی چیزی که پر واضحه اینه که تعداد frame به ازای هر ثانیه که شما تهیه میکنید رابطه مستقیمی با cpu usage و سرعت انتقال اطلاعاتتون داره.تا جایی که میتونید تعداد FRAME ها رو کم در نظر بگیرید(معمولا تا 15fps هم میتونید کاهش بدید).
یه موضوع دیگه باقی میمونه و اونم این که:
برنامه شما کار سنگین گرفتن عکس رو انجام میده و به رخدادهای دیگه دیر پاسخ میده.
برنامه وقت زیادی از cpu میگیره و اگه در هنگام اجرای برنامه سری به task manager/performance/cpu usage بزنید درصد بالایی رو نشون میده.
در حالت اول میتونید برنامه رو به صورت چند نخی یا به عبارتی multi thread در بیارید.تا فرآیند گرفتن عکس با بقیه فرآیند جدا از هم انجام بشن.

اگر در مورد ریموت اطلاعاتی دارید لطف کنید متشکرم
فکر کنم منظور دوستم از مطرح کردن این موضوع همون remote desktop و یا
Remote Assistant بوده.

mostafa_shaeri_tj
شنبه 03 تیر 1391, 11:49 صبح
فکر میکنم این لینک بتونه کمکت کنه

http://barnamenevis.org/showthread.php?t=171338

maktoom
شنبه 03 تیر 1391, 21:29 عصر
بنظرم بهتره از multiAgent استفاده کنید. و از قابلیت Mobile اون بهره ببرید.
عاملهای متحرک یک خوبی که دارن اینه که کدشون رو با خودشون حمل می کنن.
یعنی حتی اگه با سیستم مرکز در ارتباط نباشن کار خودشون رو می کنن بمحض ایجاد ارتباط نتایج رو می فرستن. اینجوری لازم نیست همه کار بدوش یک سیستم باشه.

barnamenevisforme
شنبه 03 تیر 1391, 23:12 عصر
سلام
میشه بیشتر توضیح بدین؟

maktoom
شنبه 03 تیر 1391, 23:41 عصر
سلام
در حوزه هوش مصنوعی علاوه بر رویه معمول تک عاملی، رویه چند عاملی هم وجود داره که در بین سطوح بالاتر برنامه نویسی رواج داره.(که البته منم فقط اطلاعاتی دارم و کمی برنامه نویسی اونرو با جاوا انجام دادم البته بوسیله jade و NetLogo و StarLogo و 3Apl و Aspect و چیزای دیگه ای هم هست مثل Zeus و Able و Beegent و... که همگی جاوا بیس هستن.)
نمونه بارز اون بعنوان فقط یک مثال: فرستادن یک مریخ پیما به سطح مریخه. ممکنه در این ماموریت گاهی ارتباط با مریخ پیما قطع بشه. ولی عامل داره کار خودش رو انجام میده. و بمحض برقراری ارتباط با مرکز در زمین، اطلاعات جمع آوری شده بوسیله سورسهایی(کد) که در اختیار داره و بهمراه خودش برده و اون رو خود مختار کرده رو، می فرسته.
این یه نمونه خیلی بزرگ از عاملهای متحرک بود.
چند عاملی چیزی بسیار و بسیار بیش از چند پردازنده ای ها هستند. و حتی خیلی بیش از MIMD.
اگر زمینه کاری شما جاوا بود من سورسهای بسیار خوبی در اختیار داشتم. و همچنین مراجع بسیار مناسبی. و دست شما هم بسیار باز بود در انتخاب هر تکنولوژی جاوا بیسی که می خواستید.
اما من واقعا با کد زنی سی شارپ در این سطح آشنایی ندارم.(می دونم دانشگاه ام آی تی داره بشدت روی این موضوع کار می کنه. می تویند ازونجا منابعی بدست بیارید)
مبانی در مورد چند عاملهای متحرک(Mobile MultiAgent) همیناست که گفتم. باید خودتون برید نحوه پیاده سازیش رو پیدا کنید.
این شیوه که شما در پیش گرفتید با فشار بیش از حد به سی پی یو اصلا کارآیی خوبی نخواهد داشت. ضمن اینکه دارید منابع سیستمهای دیگر رو که در اختیار دارید بلااستفاده رها می کنید.
پیشنهاد من تغییر روشتون به هر نوع چند پردازنده ای یا توزیع پردازش هستش.
و چون کار در هر سیستم قراره مستقل عمل کنه(؟) فکر می کنم چیزی بهتر از چند عاملی متحرک پاسخگو نیست. عاملها رو بسازید، فعال کنید، بفرستید اونجایی که می خواید.
سیستم سرور رو در حالت گرفتن اطلاعات بذارید، ما بقی رو بذارید بر عهده عاملهاتون.

vahidshahverdi
دوشنبه 11 شهریور 1392, 09:36 صبح
سلام دوست من .. . بهتره برنامه ای که نوشتی رو توی تایمر بزاری و interval اون رو روی 1000 تنطیم کنی. . . .اینجوری فشار به cpu ت هم نمیاد . فک کنم تو حلقه انداختی برنامرو بخاطر همین سرویس شده cpuت.
اینو بزار تو تایمر
Bitmap screen = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height);
Graphics g = Graphics.FromImage(screen);
g.CopyFromScreen(0, 0, 0, 0,screen.Size );
this.BackgroundImage = screen;