برگزیده های پرشین تولز

CPU Usage

hichkas021

Registered User
تاریخ عضویت
7 می 2006
نوشته‌ها
190
لایک‌ها
0
محل سکونت
No Where
سلام به همه استادان گرامی,

من توی برنامه یه حلقه دارم که خیلی تکرار می شه برای همین مدتی طول می شکه و CPU Usage به 100 % می رسه و پنجره برنامه قفل می کنه. می خواستم بدونم راهی نیست که با VB استفاده از CPU رو محدود کرد. مثلا از 50% بیشتر استفاده نکنه و حلقه متوقف بشه.
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
سلام.
من نمی دونم چرا از حلقه استفاده کردید ولی اگر میشه به جای آن از تایمر استفاده کنید.
مثلا اگر تایمر هر 1 ثانیه تریگر بشه و کارش یک دهم ثانیه طول بکشه آنگاه 9 دهم ثانیه cpu در اختیار قسمتهای دیگر برنامه و یا برنامه های دیگر اجرا شده در ویندوز است.
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
بهترین راه thread هست. من با دلفی به طور گسترده از thread استفاده میکنم و هیچ مشکلی برام پیش نمیاد. اینو میدونم که VB هم از thread پشتیبانی میکنه ولی کار نکردم. اگه سرچ کنید مطمئناً کدهای خوبی پیدا می کنید.
 

Mamylo

کاربر فعال بازیهای کامپیوتری
کاربر فعال
تاریخ عضویت
19 مارس 2005
نوشته‌ها
949
لایک‌ها
10
سن
33
محل سکونت
کرج

سالك عزيز دقيقا درست فرمودن
در صورتي كه برنامه تون مثل installerها باشه اين راه بهترين راهه
 

hichkas021

Registered User
تاریخ عضویت
7 می 2006
نوشته‌ها
190
لایک‌ها
0
محل سکونت
No Where
آقا دستت درد نکنه. اصلا حواسم به تایمر نبود. مشکلم حل شد...
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
استفاده زیاده از حد از تایمر کل ویندوز رو از نظر سرعت دچار افت میکنه ولی thread این مشکل رو نداره. منتهی thread یه کم سخت تر هست.
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
خواهش می کنم.
----------------------------
فرمایش استاد عزیز firebird تایید میشه. در وی بی یک جا خواندم که بیش از 3 تایمر استفاده نکنید.
اما thread باید خیلی کارآمد باشه. ولی من تابحال آن را نساخته ام و نمی توانم نظر بدهم. البته یکی دو بار در سی شارپ ساختم ولی زیاد ور نرفتم تا ببینم با سیستم چه رفتاری دارد.
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
خوب هستيد ببخشيد من نبودم
فكر كنم بهترين كار استفاده از تابع doevents است .
البته از تابع sleep هم ميتونيد در كنار doevents استفاده كنيد
به اميد ديدار
 
بالا