PDA

View Full Version : سوال: سرعت پایین VB.Net



mahmood744
سه شنبه 06 اسفند 1387, 23:44 عصر
سلام به دوستان عزیز
من با Vb برنامه های زیادی نوشتم و تازه 6 ماه است که با VB.NEt کار می کنم.
من یک برنامه با Vb.Net نوشتم اما متاسفانه در نمایش فرم ها VB.NET بسیار کند عمل می کنه و حدود 1تا 2 ثانیه طول می کشه تا صفحه آماده کار باشه.
من تعجب می کنم که VB.NET با آن همه قدرت و امکانات , چنین ضعف بزرگی داشته باشه و در نمایش فرم ها به صورت تکه تکه عمل کنه :عصبانی++: :عصبانی++: :عصبانی++:

من این سوال را قبلا هم فرستاده ام . اما متاسفانه توسط مدیر سایت حذف شد(به دلیل تکراری بودن)
ولی من هر چقدر جستجو کردم جواب سئوالم را پیدا نکردم :متفکر:


لطفا اگر کسی اطلاعاتی داره من را کمک کنه

با تشکر از راهنمایتان

ACorvinus
سه شنبه 06 اسفند 1387, 23:48 عصر
دو دلیل داره :

1- کد هایی که می نویسی استاندارد نیستن پس Compile دیر انجام میشه .
2- مشکل سخت افزاری :لبخند:

mahmood744
چهارشنبه 07 اسفند 1387, 18:18 عصر
1- به نظر من مشکلی در کد نویسی استاندارد نیست و برنامه به درستی و سریع کامپایل میشه و مشکل در اجرا برنامه و نمایش فرم ها است.

2- مشخصات سیستم بالا است و همچنین اینکه در کام÷وتر های دیگر هم این مشکل وجود داره.

این هم یک نمونه برنامه که سرعت نمایش پنجرها پایین است و مثل این است که کارت گرافیکی نصب نیست :عصبانی++:
28638
28639

لطفا اگر کسی در این رابطه اطلاعاتی داره به من کمک کنه :متفکر:
باتشکر فروان از راهنمایتان.

mahmood744
پنج شنبه 08 اسفند 1387, 13:25 عصر
واقعا هیچ راهی وجود نداره که این مشکل بزرگ VB.Net حل بشه :عصبانی++:
این مشکل در برنامه هایی که می خواهید با صفحه کلید کار کنه و سرعت بالا داشته باشند مشکل بوجود میاره :متفکر:
آیا شما دوستان هم به این مشکل بر خوردید ؟

salehbagheri
پنج شنبه 08 اسفند 1387, 16:48 عصر
دوست عزيز! اصولا برنامه هايي كه تنها با عمل Drag and Drop ساخته ميشند! از سرعت كندي نسبت به برنامه هاي تمام كد نويسي شده، برخودارند!!! (قصد من توهين به برنامه شما نيست، منظور تمامي برنامه هاي ساخته شده در محيط VB يا #C هست)

همانطور كه ميدونيد تنها راه افزايش سرعت، تقسيم بندي برنامه هست! يعني به جاي يك فرم شلوغ، از چندين فرم سبك و خلوت استفاده كنيد!

linux
پنج شنبه 08 اسفند 1387, 20:29 عصر
1- به نظر من مشکلی در کد نویسی استاندارد نیست و برنامه به درستی و سریع کامپایل میشه و مشکل در اجرا برنامه و نمایش فرم ها است.

2- مشخصات سیستم بالا است و همچنین اینکه در کام÷وتر های دیگر هم این مشکل وجود داره.

این هم یک نمونه برنامه که سرعت نمایش پنجرها پایین است و مثل این است که کارت گرافیکی نصب نیست :عصبانی++:
28638
28639

لطفا اگر کسی در این رابطه اطلاعاتی داره به من کمک کنه :متفکر:
باتشکر فروان از راهنمایتان.
این برنامه چی هست؟ تروجان؟ یا آنتی ویروس! بعدش چرا سورس برنامه را نگذاشتی و فایلهای اجرایی را گذاشتی؟

mahmood744
جمعه 09 اسفند 1387, 18:26 عصر
دوست عزیز من چندین برنامه نوشتم و این برنامه فقط یک مثال است .
حالا اگر می خواهی بدونی که این مثال چیه , این برنامه یک آنتی تروجان می باشه که بنظر من 99 درصد تروجان های بازار را میگیره و پاک میکنه و میشه با آنتی ویروس های دیگر نصب کرد و آپدیت هم میشه و سرعت سیستم را نمگیره . . .
این هم سورس برنامه شاید بدرد کسی بخوره

28757

28758

28759

تقدیم به شما دوستان :قلب:

پس بنظر شما دوستان هیچ کاری نمیشه کرد و فقط باید برنامه خودمون را با Vb.Net وقف بدیم(این که خیلی بده مخصوصا در برنامه های بزرگ )

وقتی از کامپونتهای زیبا و جدید VB.Net استفاده می کنیم باز هم سرعت پایین تر میاد و رفش صفحه خیلی کنده.
آیا کامپونت های حرفه ای جدید مثل Rad Controls و Xceed Ultimate Suite 2008 و IrisSkin و DXperience-7.3.6و infragistics Net Advantage این نکته را پیش بینی نکردند و همه اینها دارای سرعت پایین در نمایش اولیه فرم می باشند و از CPU زیادی هم استفاده میکنند:عصبانی++:

من که باور نمی کنم که این شرکت های بزرگ فکر اینجا را نکرده باشند :متفکر:

باز هم منتظر راهنمایی شما دوستان هستم

linux
جمعه 09 اسفند 1387, 18:47 عصر
دوست عزیز من چندین برنامه نوشتم و این برنامه فقط یک مثال است .
.......هستم

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

mahmood744
شنبه 10 اسفند 1387, 14:15 عصر
دوست عزیز از انتقاد سازنده شما متشکرم .
اما مشکل اصلی من سرعت پایین نمایش فرم ها است .
به نظر شما با کوچک کردن فونتهای برنامه و یا تغییر چیدمان فرم مشکل من حل میشه ! ! !:عصبانی++:

دوست عزیز اگر میشه یک راه حل خوب پیشنهاد کن که بشه از کامپونت های بالا به راحتی استفاده کرد . (مگر میشه این کامپونت های پیشرفته چنین مشکلی داشته باشند)

با تشکر از راهنمایتان :قلب:

MFiRE
چهارشنبه 14 اسفند 1387, 04:21 صبح
سلام
دوستان ! دوستان !
شما خودتون داريد مي گيد VB.net !
مگه نمي دونيد برنامه هاي تحت دات نت به كد مياني IL كمپايل مي شند !؟

به همين دليله كه برنامه هاي دات نت كند هستند !
البته اينكه شما مي گيد كه شركت ميكرو$سافت به فكر اينجاش نبوده ، نيست !
در واقع هدف ميكروجون اين بوده كه برنامه نويسان راحتتر كد بنويسن و مثلا با مديريت حافظه ديگه سر و كاري نداشته باشند(GC)... و برنامه نويس فقط به الگوريتم برنامه فكر كنه.

البته با توجه به پيشرفت صنعت سخت افزار شايد تا دو سه ساله آينده حل بشه. به هر حال سرعت سيستم وقتي بالا باشه ديگه كندي برنامه هاي دات نت احساس نمي شه.

كاري كه بنده مي كنم اينه كه برنامه هاي بانك اطلاعاتي رو با #C يا VB مي نويسم و برنامه هايي كه بايد سرعت بالايي داشته باشند و البته تحت دات نت نباشند رو با دلفيه عزيز مي نويسم.

ديگه خدا رو شكر اينو مي دونيد كه تا دات نت فريم ورك نصب نباشه اين انتي ويروس شما هم كار نمي كنه ؟
يعني زياد پرتابل نيست:افسرده:

اگه نگاهي به دلفي و نسخه هاي جديدش (2009) بندازين مي بينين كه علاوه بر اينكه مي شه برنامه ها رو تحت دات نت نوشت ! مي شه غيره دات نتيش رو هم نوشت.
و اين در حاليه كه مايكروسافت ، ويژوال بيسيك رو تركوند با دات نت:بامزه:.

__H2__
شنبه 17 اسفند 1387, 13:40 عصر
سلام
یکی از مشخص ترین دلایل کند شدن کدها، خود نوع برنامه نویسی است.
(دات نت هم امکانات پرسرعتی مثل datareader دارد و هم امکانات کند و پرمصرفی مثل dataset)

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

ولی به نظر میرسد شما امکانی برای اسکن هارد و فایلها اضافه کرده اید و از فضای System.IO استفاده کرده اید...
به احتمال زیاد بخش زیادی از سرعت و بازدهی شما همینجا تلف شده!
من خودم مدتها قبل متوجه کندی جستجوی فایلها در مبنای زیاد با System.IO شده بودم.
برای همین برای مشکل خودم یک کلاسس جدید نوشتم که در آزمایش هایی که انجام دادم بین 50 تا 200 برابر با سرعت بیشتری هارد را جستجو میکرد !!!
(
اگر خواستید تست کنید، کل درایو C را در یک حلقه خالی for (که کد دیگری تاثیر گذار نباشد) با System.IO و کلاسسی که من معرفی میکنم اسکن کنید و زمان بگیرید.
ضمن اینکه این class بجز نام و مسیر فایل در هر زمان اطلاعات بیشتری در خصوص فایل میدهد و نیاز به استفاده از دستورات جانبی کاهش می یابد که ان هم جداگانه باعث افزایش سرعت خواهد شد... مثل حجم فایل و خواص فایل و...
)

برای توضیح به تاپیک زیر مراجعه کنید: (پستهای 25 و 26)
http://www.persianscience.ir/showthread.php?p=6607#post6607

فایل پیوست آن تاپیک را در همین سایت برایتان آپلود کردم.
موفق باشید.

#target
سه شنبه 20 اسفند 1387, 14:26 عصر
چون فایل بعد از کامپال به کد میانی تبدیل میشه و بعد از اجرا روی لایه .Net FRamework اجرا میشه پس صد در صد سرعت خیلی پایینتره حالا تو میگی 2 ثانیه مال من که یک فرم با یک کنترل هم 10 تا 20 ثانیه طول میده