PDA

View Full Version : چرا برنامه های vb اینقدر سنگین هستند؟



javad2000
پنج شنبه 07 تیر 1386, 13:20 عصر
سلام
من یه مقایسه کردم ببینم برنامه های vb.net 2005 از لحاظ اشغال رم، چه وضعیتی دارند. یه برنامه ساختم که فقط از یه فرم خالی بدون هیچ عنصر اضافه تشکیل شده بود و دیدم که این برنامه هنگام اجرا، بیش از 10 MB رم اشغال می کنه. این در حالی هست که مثلاً Windows Media Player با آن همه ابزار و امکانات و گرافیک و... در حالت معمول، فقط 4 MB از رم رو به خودش اختصاص میده و اکثر برنامه های دیگر هم، عددی کمتر از 10 رو دارند.

حتی برنامه های VB6 رو هم تست کردم، برنامه ای که خودش کمتر از 300kb حجمش هست، بیش از 5 MB رم رو اشغال می کنه.

خواستم بپرسم علت این سنگینی برنامه های vb چی هست و آیا راهی داره که این مشکل رو حل کنیم؟

با تشکر

__H2__
پنج شنبه 07 تیر 1386, 16:00 عصر
سلام
در مورد مصرف RAM کار زیادی نمیتوان کرد و البته مشکلی هم نخواهید داشت، اداره RAM داخلی دات نت خوب و کامل است.
گرچه من همین الآن یک نمونه برنامه ساده را تست کردم و سه و نیم مگ RAM میگرفت!

ولی در کل اعمال زیر میتواند در سرعت و کارایی برنامه شما موثر باشد:
تا کد امکان استفاده از DataReader به جای DataSet.
حذف فایلهای resx.* ای که استفاده نمیشوند.
در صورت عدم استفاده، حذف فایل تنظیمات و منبع عمومی در پوشه My Project
پرهیز از استفاده از کپی یک دستور به کرات و در عوض اختصاص یک متغیر برای نگه داشتن مقدار
و مطلب بسیار مهم، کامپایل پروژه در حالت Release و نه Debug
....

دو کد شاید به ظاهر یک کار را انجام دهند ولی میتوانند در سرعت و کارائی تفاوت فاهشی داشته باشند، در کد نویسی دقت کنید.

javad2000
پنج شنبه 07 تیر 1386, 19:19 عصر
سلام
در مورد مصرف RAM کار زیادی نمیتوان کرد و البته مشکلی هم نخواهید داشت، اداره RAM داخلی دات نت خوب و کامل است.
گرچه من همین الآن یک نمونه برنامه ساده را تست کردم و سه و نیم مگ RAM میگرفت!

ولی در کل اعمال زیر میتواند در سرعت و کارایی برنامه شما موثر باشد:
تا کد امکان استفاده از DataReader به جای DataSet.
حذف فایلهای resx.* ای که استفاده نمیشوند.
در صورت عدم استفاده، حذف فایل تنظیمات و منبع عمومی در پوشه My Project
پرهیز از استفاده از کپی یک دستور به کرات و در عوض اختصاص یک متغیر برای نگه داشتن مقدار
و مطلب بسیار مهم، کامپایل پروژه در حالت Release و نه Debug
....

دو کد شاید به ظاهر یک کار را انجام دهند ولی میتوانند در سرعت و کارائی تفاوت فاهشی داشته باشند، در کد نویسی دقت کنید.
سلام
خیلی ممنون.
به نظر شما این Windows Media Player با چه زبونی نوشته شده که اینقدر کم اشغال رم می کنه و این همه هم امکانات داره؟

با تشکر

__H2__
شنبه 09 تیر 1386, 10:50 صبح
سلام
آقا فکر کنم بد جوری رفتید تو نخ این WMP را !!!؟؟؟؟
اجزای داخلی ویندوز و زبان رسمی برنامه نویسی مایکروسافت ++VC است.

CodeMasterX
شنبه 09 تیر 1386, 11:11 صبح
برای اینکه بدونید چرا دات نت این مقدار رم رو مصرف میکنه کتابهای ساختار دات نت فریم ورک رو بخونید.تو این دورانی که کاربر میتونه 4 تا رم 1 گیگابایتی روی سیستمش ببنده مشکل شما نباید 5 مگ و 10 مگابایت باشه !