PDA

View Full Version : بالا بردن سرعت اجرا



kahkeshane2012
شنبه 30 آذر 1392, 20:16 عصر
با عرض و سلام و خسته نباشید خدمت تمام دوستان.
برنامه ای نوشتم که در آن از کنترل های تلریک و اسکین استفاده کردم سرعت اجرای برنامه ی من پایین و حتی خصوصیت دابل بافر فرم را هم تنظیم کردم اما اجرا سرعت دلخواه را ندارد.

ممنونم میشم که برای رفع این مشکل بنده رو راهنمایی کنید.
با تشکر.

fmehrvarzi
شنبه 30 آذر 1392, 22:25 عصر
استفاده از برخی کمپوننت ها همین مشکل را هم ایجاد میکنه:
1- ببین کدام قسمت کدت سرعت اجرا را پایین میاره براش (مثلاً با استفاده از backgroundworker ) صفحه لودینگ طراحی کنی، تا کاربر فکر نکنه برنامه هنگ کرده
2- ببین کدام کامپوننت سرعت را پایین آورده ، بعدش بیا از یک کامپوننت دیگر استفاده کن و یا بیا خودت کامپوننت مورد نظر را طراحی کن

kahkeshane2012
یک شنبه 01 دی 1392, 09:00 صبح
ممنونم از پاسختون. اما من برای همینش هم خیلی زمان گذاشتم نمیتونم بشیم کامپونتها رو دوباره طراحی کنم چون چندین بار این کارا کردم و باید تحویل کاربر بدم.
اگر که ترفندی باشه خیلی بهتره. توی قسمت property پروژه و قسمت بیلد و بعد Advance یه مقداری هست به نام Dll Base Address که مقدارش رو تغییر بدیم فکر کنم یه تاثیری داشته اما متاسفانه این قسمت read only من چطور میتونم این گزینه رو فعال کنم؟؟؟ کسی اطلاعی راجع به این مورد داره؟؟؟
یا یه ترفند بهتر؟!؟!؟!؟

Boy_nn
یک شنبه 01 دی 1392, 09:34 صبح
برو سراغ برنامه نویسی چند نخی

kahkeshane2012
یک شنبه 01 دی 1392, 10:21 صبح
شما دارید من رو پاس میدید به اولین قدمی که برداشتم در حاله حاضر سوال اینه که ترفندی برای افزایش سرعت کامپایلر برای اجرا هست ؟؟؟؟؟ اگر که هست راهنمایی کنید ممنون میشم.

plus
یک شنبه 01 دی 1392, 10:53 صبح
شما دارید من رو پاس میدید به اولین قدمی که برداشتم در حاله حاضر سوال اینه که ترفندی برای افزایش سرعت کامپایلر برای اجرا هست ؟؟؟؟؟ اگر که هست راهنمایی کنید ممنون میشم.
کامپایلر خودش به صورت پیشفرض جوری ساخته شده که خروجی با Performance بهتر تولید کنه.البته شاید بتونید در Properties پروژه در Build یا بخش دیگه گزینه هایی که فعال/غیر فعال نشده باشن و به Performance کمک کنن رو پیدا کنید ولی موضوع این هست که اگه علت کندی شما استفاده از UI Component های آماده هست بعیده با این کارها بتونید تاثیری در بهبود Performance ایجاد کنید.این Component ها کند هستن ولی استفاده نادرست ازشون میتونی خیلی مهم باشه.شما باید با Debug پروژه سعی کنی نقاطی که کندی درش هست رو پیدا کنی و اگر اشکالی در این نقاط هست برطرف کنی...
البته به نظر من که در کل استفاده ازین کامپوننت ها در پروژه های کوچیک (و شاید همه پروژه ها) اشتباه هست.

kahkeshane2012
یک شنبه 01 دی 1392, 11:08 صبح
درسته حق با شماست ایده ی شما رو رد نمیکنم. اما بلاخره این برنامه ی ما باید کاربرپسند هم باشه یا نه؟؟؟ شما که یه مهندس هستید براتون کد مهم و میدونید پشته این برنامه ی به ظاهر ساده چه هست اما یه کاربر ساده که فقط ظاهر فرم ها رو میبینه براش باید جذابتی داشته باشه یا نه؟؟؟
به هر حال تشکر از نظرتون.

plus
یک شنبه 01 دی 1392, 11:17 صبح
کاربر ساده به علت نیازش، نرم افزار رو میخواد و نه به خاطر ظاهر زیبا و جذابش.البته ظاهر جذاب (اگه استفاده شما ازین کامپوننت ها اینه) بودنش بهتر از نبودنش هست ولی اولویتی بسیار پایینی داره.حتی گاهی اوقات بجای اینکه اثر مثبت داشته باشه اثر منفی داره.
چیزی که مهمتر از این هست، یکپارچگی و ساده گی کار با UI هست که شما با استفاده از کنترل های استاندارد دات نت (نهایتا با کمی سفارشی سازی) میتونین این فاکتور ها رو در حد قابل قبولی بدست بیارین.
البته اینهایی که گفتم بیشتر از نظر زیبایی و جذابیت بود وگرنه ممکنه خیلی ازین کامپوننت ها امکاناتی رو داشته باشن که کنترل های استاندارد دات نت ندارن.اگرچه اون امکانات هم اغلب برای پروژه های کوچک لازم نمیشن.

kahkeshane2012
یک شنبه 01 دی 1392, 15:29 عصر
درسته کناره زیبایی باید ساده باشه طوری که کاربر به اسانی بتونه استفاده کنه و اما در مورد زیبایی هر کسی سلیقه ای داره و متفاوت مونده چه چیزی شما رو راضی بکنه. . . بگذریم ما از بحث اصلی خودمون دور شدیم و من هنوز جواب سوالم رو نگرفتم.

kasraaa
یک شنبه 01 دی 1392, 16:20 عصر
سلام منم از تلریک استفاده کردم خیلی بیخوده اونقدری که سرعتو میگیره گرافیک نمیده

در ضمن من با نظر kahkeshane2012 موافقم گرافیک خیلی مهمه

kahkeshane2012
یک شنبه 01 دی 1392, 20:11 عصر
تشکر از kasraaa و همچنین بقیه ی دوستان که نظر خودشون رو اعلام میکنن :)
اساتید حداقل به این سوالم توجه کنید :(
در قسمت property پروژه و قسمت بیلد و بعد Advance یه مقداری هست به نام Dll Base Address که مقدارش رو تغییر بدیم فکر کنم یه تاثیری داشته اما متاسفانه این قسمت read only من چطور میتونم این گزینه رو فعال کنم؟؟؟

fmehrvarzi
یک شنبه 01 دی 1392, 20:58 عصر
ببین این مقاله رو، به دردت میخوره
برای دوباره نشاندن rebase کتابخانه dll ها میتونی از این هم استفاده کنی که performance را بالا میبره
که چطور همزمان از چند dll استفاده کنی که سرعت بالا بره
این مقاله برای سی پلاس پلاس و سی شارپ هست.
Modify the Base Addresses for a DLL Files Series (http://www.codeproject.com/Articles/35829/Modify-the-Base-Addresses-for-a-DLL-Files-Series)

kahkeshane2012
یک شنبه 01 دی 1392, 21:44 عصر
این مقاله دقیقا امده مشکل من رو مطرح کرده اما همین مسیری که گفته رو ما باید بریم و مقدار پیش فرض رو تغییر به مقداری که گفته اما در C#‎ وقتی اقدام میکنم مقدار به صورت غیرفعال هست.

این دقیقا همان تصویری هست که میگم :
http://www.google.com/imgres?q=Build-%3Eadvanced-%3Eadvanced+build+setting-%3Edll+base+address:&sa=X&espv=213&es_sm=93&biw=1024&bih=667&tbm=isch&tbnid=MW8GT58POqCTjM:&imgrefurl=http://blogs.msdn.com/b/morgan/archive/2009/03/07/developing-net-applications-for-deployment-on-terminal-services-or-citrix.aspx&docid=fBTAShbwspgZNM&imgurl=http://blogs.msdn.com/blogfiles/morgan/WindowsLiveWriter/Dev.NETapplicationsfordeploymentonTermin_6EB5/image_3.png&w=504&h=386&ei=1zi3Uo6tBYbW7Qb2nIHYAg&zoom=1&ved=1t:3588,r:0,s:0,i:81&iact=rc&page=1&tbnh=193&tbnw=253&start=0&ndsp=11&tx=205&ty=74