نحوه افزاهیش performance فایل فلش

بسمه تعالی
با سلام
من یک فایل فلش دارم که برای UserInterface برنامم طراحی کردم خیلی قشنگه ولی با یک مشکل خیلی بزرگ طرف هستم و اون حجم استفاده از CPU است وقتی اجراش می کنم CPU USsageمی ره رو 80 -90 که اصلا قابل قبول نیست!
1-حالا آیا برنامه ای چیزی برای این کار وجود داره؟
2-اصول و روش هایی هست که بشه با آن به این مهم دست یافت
با تشکر
 

Insomnia

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

از چه المانهایی استفاده کردید؟
کدنویسی؟
 

mohsensemsarpour

کاربر فعال
اگر بحث گرافیکی باشه که فکر نمی کنم راه حل درستی و حسابی براش باشه ولی در مورد کد نویسی شاید بشه با تغییرات یه کارهایی کرد شاید کد نویسی به درستی انجام نشده باشد

البته اساتید هستند راهنمایی می کنن ما جسارت کردیم

موفق باشید


آپلود سنتر رایگان عکس بدون محدودیت ------------> www.iranax.co.cc (ارسال کنید برای همه)
 
بسمه تعالی
با سلام
کد نویسی انجام شده البته نه زیاد بیشتر گرافیکی هستش
چه راه هایی رو توصیه می کنید
اگر بخواهم همین کار رو که از لحاظ گرافیکی فوق العاده است بدم به کسی می تونه با افزایش کارایی همین کارها رو انجام بده
البته بگم یک حرفه ای فلش این کار رو کرده(نمی تونم بزارمش اینجا)
 

Avang2005

مدیر انجمن
سلام دوست من

حجم كار گرافيكت ؟؟

حجم كل فايلت ؟؟؟؟

و از چه اكشني استفاده كرديد ؟؟

موفق باشيد
 

mohsensemsarpour

کاربر فعال
یه سوال هم من بپرسم ؟

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

منتظر جواب برای توضیحات تکمیلی هستم

موفق باشید
 
بسمه تعالی
با سلام
با تشکر از همه دوستانی که پیگیر هستید
سلام،
حتماً تعداد موی کلیپ هات زیاده و یا تصویر خیلی شلوغه ...
درسته؟
بله

سلام دوست من
حجم كار گرافيكت ؟؟
حجم كل فايلت ؟؟؟؟
و از چه اكشني استفاده كرديد ؟؟
حجم کار زیاده
حجم فایل هم در حدود 9 مگابایت است

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

همه در یک فایل است آخه من می خواهم در ui ازش استفاده کنم باید یکی باشد دیگه
می شه یک مقدار توضیح بدید

یک نکته هم عرض کنم من با نرم افزار optimizer هم تست کردم حجم فایل فلش را کاهش داد ولی هیچ تاثیر قابل ملاحظه ای در کارایی نداشت!
با این برنامه حجمش تا 2-3 مگ هم آمد.

یک سوال:آیا پخش صوت در فلش هم تاثیر دارد یعنی اگر من آن را ببرم در محیط برنامه نویسی تاثیری خواهد داشت؟

با تشکر
 
آخرین ویرایش:

BehrouzPc

پــــادشــاه فــلــــش
دوست عزیز بنده هم با همچنین مشکلاتی توی پروژه های سنگین رو به رو شدم...
یکی از دلایل استفاده از اشکال برداری Vector به جای نگاشت بیتی Bitmap هست درسته که Vector ها زیبا تر هستند ولی اصولا سرعت کار رو پایین میارند
شما می بایست در هر جایی از Vector استفاده کردید به جاش از تصویر Bitmap استفاده کنید والبته استفاده از کلاس Bitmap هم بعضی جا ها می تونه بسیاز مفید باشه
مثلا به جای tile کردن با For و... با Bitmap این کار رو انجام بدید و ...

در بحث برنامه نویسی هم تا می تونید از EnterFrame استفاده نکنید و از رویدادهایی که فقط در موفق نیاز صدا زنده میشن استفاده کنید
و EnterFrame هم مدیریت کنید و در زمان لازم delete نمایید

و....
 

mohsensemsarpour

کاربر فعال
همه در یک فایل است آخه من می خواهم در ui ازش استفاده کنم باید یکی باشد دیگه
می شه یک مقدار توضیح بدید

با تشکر


با سلام
ببینید دوست عزیز
در مورد این که کلیه بخش ها داخل یک فایل باشه بیشترین ضربه رو به کار می زنه ، معمولا من کارهام رو تیکه تیکه می کنم و در هر لحظه فقط یکی یا دو تا فایل داخل پلیر داره اجرا می شه که حجم کمی داره ، به همین دلیل سرعت کارهام معمولا بد نیست ، به فرض شما می تونید این نمونه رو که حتی توی وب هم قابلیت اجرا رو داره ببینید

www.quran.artiranclub.com

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

همین

موفق باشید
 

troojan

Member
البته ما در مقابل اساتيد قصد جسارت نداريم
ولي به نظر من نكته ميتونه اين چهار تا باشه (شايد هم بيشتر)
اولي رو كه اقا بهروز گفت : تصاوير وكتور
دومي رو بازم اقا بهروز گفت رويدادهايي كه هر چند لحظه يكبار خودبخود اجرا ميشن مثل onEnterFrame يا onMouseMove يا ...
حالا اگه اين دوتا با هم بكار برن ديگه حساب كن چي ميشه
سومي پردازش هاي منطقي كه وابسته به هم و تودرتو بكار رفته باشه
چهارمي هم كه اقا محسن گفت تجمع چند swf در يك swf حالا به هر شكلي مثلا loadMovie . مخصوصا اگه همزمان با هم هركدوم وظيفه اي مجزا داشته باشن (منظورم از نظر محاسبات و منطقه) البته اگه فقط يه انيميشن ساده باشه چيزي نميشه

البته شايد هم نظرم اشتباه باشه( از كجا معلوم دي:) )
 

++Hadi++

Active Member
سلام:
1- تصاویر وکتور کیفیت بالایی داره ، در resize کردن ، کیفیتشون افت نمی کنه ، خروجی شما با این تصاویر ، حجمش پایین تر می یاد ولی در عوض performance پردازنده رو بشدت پایین می بره و CPU رو داغ داغ می کنه .
2- توابع Interval و Enter_Frame مخصوصا در شرایطی که چند تا شون بخوان با هم کار کنن ، بشدت performance رو پایین می یارن . اگه خواستین چیزی رو چک کنین تا وقتی درست شد ، کاری انجام بگیره سعی کنین به جای Enter_Frame از interval با بازه های زمانی بالاتر قرار بدین . این بهتره .
3- توابعی مثل transition خیلی performance رو پایین می یاره . سعی کنین از کلاسهای آماده دیگری مثل tweener یا tweenmax استفاده کنین که per رو بالاتر می یاره و دستتونو در کارای مختلف بازتر می زاره .
4- هر چی در قسمت publish setting ، کیفیت JPEG خروجی رو پایین تر بیارین هم حجم خروجی تون کمتر می شه و هم per شما بالاتر می ره .
5- هر جایی که دیگه نیاز به داشتن تابعی مخصوصا enter_frame یا interval نداشتین حتما اونو پاک کنین .
6- سعی کنین به جای استفاده از کد های بلند و تکراری از توابع استفاده کنین بطوریکه کاراتونو تقسیم کنین و توابع مختلف برا کارتون بنویسین و دیگه یه سری دستورات خاص رو 100 بار تکرار نکنین .
7- سعی کنین هر چیزی رو با رفرنس به تابع پاس بدین . یعنی در تعریف تابع و جایی که داره پارامتری رو می گیره ، قبل از پارامتر علامت $ بزارین . من مطمئن نیستم ولی در اغلب کلاسهای بزرگ و حرفه ای مثل TweenMax من دیدم و ورودی ها رو با این علامت می زارن . با این کار به جای اینکه کامپایلر تابع اصلی رو در کامپایل ، در محل امضای تابع کپی کنه ، فقط اون متغیر یا شی رو با رفرنس می فرسته به داخل تابع .
8- سعی کنین تمام کاراتونو با کد نویسی انجام بدین بخصوص با document class بنویسین .
9- اگه با اکشن 3 کار می کنین سعی کنین بعد از اینکه از مووی کلیپ یا loader ، در جایی addChild کردین ، موقع رفتن به فریم بعدی یا جای دیگه ، اونو removeChild کنین . چرا که Child هایی که بوجود اومدن دیگه هستن تا وقتی که remove بشن .همینطور سعی کنین در جایی که کار لودری تموم شد اونو unload کنین .
10 - سعی کنین از یه متغیر برای تولید چند Child استفاده کنین . شما می تونین از یه متغیر برای تولید 100 ها Child در اکشن 3 استفاده کنین .
11- سعی کنین اگه قراره مجموعه ای داده در یه ارایه قرار می گیره ، نزارین اون آرایه همینجوری به خونه هاش بصورت بی پایان اضافه شه . یعنی در جایی شرط بزارین اگه تعداد خونه های ارایه از فلان بیشتر شد ، بیاد و از صفر دوباره چیده شه .
12- خیلی از کارا رو می شه به سادگی کرد ولی در فلش خوشبختانه هزاران رقم کلاس مختلف می بینین که در گروههای حرفه ای طراحی شده که هم از سیستم پایه ای خود فلش بی نقص ترند و هم per یا حجم رو بهتر می کنه پس سعی کنین اونا رو پیدا و استفاده کنین . یکیش همین transition هست که جایگزین خوبترش می تونه tweenmax یا tweener یا ... باشه ...
کلاسهایی مثل pv3d , away , alternativa3d هم می تونه جایگزین های خوبی برا 3 بعدی سازی های فلش cs4 باشه ...
13- سعی کنین به جای اینکه همه چیزو در یه سورس قرار بدین ، بیشتر چیزا رو از بیرون لود کنین . هر چی تعداد لودر ها در یه فریم زیاد باشه ، per رو پایین تر می یاره پس اگه کنترل درستی روی این داشته باشین ، کارتون بهتر می شه .
اینا چیرایی بودن که به ذهنم رسید ...
بای...
 
آخرین ویرایش:

rezaee

Member
از پاسخ دوستان عزیز به این رفیقمون ممنونم... نکات آموزنده ای رو یادآوری کردن...
نکته دیگه ای که دوستان اشاره نکردن، (یا شاید اشاره کردن و من متوجه اون نشدم) استفاده از افکتهای متفاوت هست. و مخصوصا زمانی که یه شی رو که بهش یه افکت اختصاص داده شده با یه تویین ترکیب بکنیم...
به عنوان مثال افکت Blur یا Glow به صورت افزایشی یا کاهشی به کار میبرید (یا اینکه تناوبی - با استفاده از تویین یا حلقه ها) باعث میشه حتی روی ساده ترین افکت ها سی پی یو مصرفی بالایی داشته باشیم...
:rose:
 

جدیدترین ارسال ها

بالا