PDA

View Full Version : سوال: میزان استفاده برنامم از سی پی یو خیلی بالاس چیکارش کنم؟



alireza_kaka
چهارشنبه 25 دی 1392, 09:23 صبح
سلام من يه برنامه نوشتم كه ميزان استفادش از سي پي يو بالاس در حاليكه فقط 2 تا تايمر داره با چندتا تكست باكس.راه حلي هست
؟

shahryari
چهارشنبه 25 دی 1392, 09:41 صبح
سلام
این روال رو به برنامه تون اضافه کنید و در رویداد فرم اصلی تون فراخوانی کنید:
private void SetWorkingSet()
{
System.Diagnostics.Process loProcess;
loProcess = System.Diagnostics.Process.GetCurrentProcess();
loProcess.MaxWorkingSet =(IntPtr)750000;
loProcess.MinWorkingSet =(IntPtr)300000 ;
}

alireza_kaka
چهارشنبه 25 دی 1392, 09:49 صبح
من مبتدي هم اينكه گفتين فراخواني كنيدي يعني چي؟
با Smart Assembly يكاريش كردم كمتر شد اما بازم قاطيد.چون برنامم به سرور وصل ميشه گذاشتمش رو vps اما وي پي اس هنگ كرده از بس رفته بالا ميزان استفادش از Cpu

shahryari
چهارشنبه 25 دی 1392, 09:57 صبح
من مبتدي هم اينكه گفتين فراخواني كنيدي يعني چي؟
با Smart Assembly يكاريش كردم كمتر شد اما بازم قاطيد.چون برنامم به سرور وصل ميشه گذاشتمش رو vps اما وي پي اس هنگ كرده از بس رفته بالا ميزان استفادش از Cpu
اون تیکه کد رو به کدهای برنامه تون اضافه کنید
روی تایتل بار فرم اصلی دوبار کلیک کنید تا رویداد لود براتون ایجاد بشه و در اونجا بنویسید SetWorkingSet() یه سمی کالن هم آخرش بذارید :بامزه:

alireza_kaka
چهارشنبه 25 دی 1392, 10:06 صبح
:بامزه:مرسي خيلي زياد
اينكار تاثيري رو كيفيت برنامه هم داره؟يعني اگه پردازشي بيشتر از مقدار ماكزيمم نياز داشت انجامش ميده؟ميشه بگيد اين كد چيكار ميكنه در واقع

shahryari
چهارشنبه 25 دی 1392, 10:34 صبح
:بامزه:مرسي خيلي زياد
اينكار تاثيري رو كيفيت برنامه هم داره؟يعني اگه پردازشي بيشتر از مقدار ماكزيمم نياز داشت انجامش ميده؟ميشه بگيد اين كد چيكار ميكنه در واقع
با عرض پوزش از شما دوست عزیز من در ابتدا متوجه منظور تون نشدم و این کد مقدار مصرف رم برای برنامه شما را مدیریت میکنه