نقل قول نوشته شده توسط khazaie01 مشاهده تاپیک
ممنووووون دوست عزیز
اما این شد بهینه کردن روش قبلی ، روشی غیر از عکس گرفتن باید باشه....
با سلام
بنده پس از چندی تحقیق یه روش خوب پیدا کردم.
scanline
و ارسال استرینگ به سرور.
نظرتون چیه.
ببینید ما چی داریم :

یه صفحه مانیتور کلاینت ، یه سیستم مرکزی و یه خط ارتباطی بین اونا .

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

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

استفاده از تصویر با فرمت JPG حجم فایل رو خیلی کم میکنه . اگر کسی فرمت بهتری سراغ داره بگه .

استفاده از ScanLine به نظر من گزینه مناسبی نیست چون اولا از توابع API خیلی بهتر و سریعتر میشه استفاده کرد و دوما" هم مشکل ما اصلا انتقال سریعتر هستش نه عکس گرفتن سریعتر .

به نظر من بدست گرفتن رویداد Paint ( رویدادی که ویندوز وقتی آن را فراخوانی میکند که یک قسمت ، تاکید میکنم : یک قسمت از صفحه نمایش را بازسازی می کند ) و ارسال آن تکه از تغییرات با فرمت JPG راه حل بسیار خوبی باشد .

برای مثال تصور کنید کاربر موس خود را حرکت میدهد ( در این هنگام هیچ تصویری رد و بدل نمی شود و فقط مختصات موس ارسال شده و روی سیستم مرکزی ،روی آخرین تصویر ارسالی کشیده و نمایش داده می شود ) و روی دکمه Start می برد ، در این موقع رویداد Paint ویندوز فراخوانی میشود و "فقط خود دکمه استارت" را بازسازی میکند ( در این موقع برنامه مختصات و اندازه محل بازسازی شده را گرفته و یک عکس کوچک از آن محل می گیرد و به همراه مختصات به سیستم مرکزی منتقل میکند ) .

به مثال بالا توجه کنید : اگر قرار بود کل صفحه ارسال شود و رزولوشن صفحه را هم مثلا 800x600 در نظر بگیریم این کار 200 برار وقتی است که دکمه استارت را مثلا در اندازه 80x30 فرض کنیم .

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