با توجه به استقبال شما از مطلب قبلی در مورد MX Player، پست امروز را نیز به این پلیر محبوب اختصاص میدهیم. یکی از مشکلاتی که ممکن از در هنگام کار با MX Player مشاهده کنید، تیکه تیکه نشان داده شدن یا اصتلاحاً لگ زدن فیلم ها و کلیپ های شماست. علت این امر عموماً تنظیم نبودن بهینه MX Player با توجه به سخت افزار گوشی شماست، بنابراین پلیر نمیتواند با تمام توانی که سخت افزار گوشی شما دارد اقدام به پخش فایل های HD و Full HD و... کند.

در ادامه علاوه بر شناخت علت این مشکل، نحوه حل آنرا نیز بررسی میکنیم.

 

دیکودرهای MX Player

MX Player دارای 3 دیکودر مختلف است که عبارتند از SW (Software)، HW (Hardware) و همچنین HW+ (Hardware Plus)

کُدِک (Codec مخفف Compressor/Decomprossor) شامل دستوالعمل ها و الگوریتم هاییست که باعث میشود فایل باینری ما تبدیل به اطلاعاتی شود که قابل رندر شدن و نمایش بر روی LCD و یا پخش از طریق اسپیکر شود. دیکودر تعیین میکند اجرای این عملیات (در واقع اجرای کدک) بر روی GPU انجام گیرد و یا CPU باید مسئول اجرا و پردازش آن باشد. گوشی های هوشمند با اینکه پیشرفت چشمگیری داشته اند، اما هنوز نسبت به کامپیوترهای شخصی توان پردازشی بسیار ضعیف تری دارند و ممکن است CPU آنها به هنگام اجرای فایل های ویدیویی HD دچار مشکل شوند. به همین دلیل سازندگان پردازنده های گوشی های هوشمند چیپست های مولتی مدیایی را در گوشیمان قرار داده اند تا بتواند سرعت عملیات دیکود کردن ویدیوها را افزایش بخشد. دیکودر HW از این چیپست ها که بر روی GPU گوشی ما قرار دارند برای رندر کردن تصاویر استفاده میکند، در صورتی که دیکودرهای SW تنها از قدرت CPU گوشی هایمان استفاده میکند.

دیکودر HW از فریمورک استوک کارخانه برای اجرای فایل های شما استفاده میکند، در صورتی که دیکودر +HW فایل های شما را با استفاده از فریمورک اختصاصی MX Player اجرا خواهد کرد. فریمورک استوک کارخانه در پشتیبانی از فرمت هایی که میتواند رندر نماید محدود است، اما فریمورک +HW خواهد توانست فرمت های بیشتری را نسبت به فریمورک استوک کارخانه ای با استفاده از GPU شما اجرا کند.

توجه داشته باشید که به دلیل محدودیت های معماری این چیپست های سخت افزاری، امکان اجرای هر کدکی بر روی آن وجود ندارد، در صورتی که CPU میتواند با استفاده از معماری پیچیده خود، تمامی کدک های سازگار با معماری خود را اجرا نماید، بنابراین CPU امکان اجرای کدک های بسیار بیشتری را نسبت به GPU یا DSP دارد.

 

چرا برخی از فایل های ویدیویی من تکه تکه نمایش داده میشوند؟

همانطور که گفته شد CPU در انجام عملیات رندرینگ بسیار ضعیف تر از GPU ظاهر میشود، چرا که تعداد هسته های پردازی CPU از GPU بسیار کمتر است. یک GPU میتواند تا 100 هسته پردازشی (یا حتی بیشتر) داشته باشد، در صورتی که حداکثر تعداد هسته های پردازشی CPU در گوشی های ما در حال حاضر 8 هسته است. گرچه توان پردازشی هسته های GPU بسیار کمتر و ضعیف تر از هسته های CPU است، اما با توجه به پارالل بودن محاسبات لازم جهت رندرینگ، تعداد هسته بیشتر (ولو اینکه توان پردازشی خیلی کمتری داشته باشه) باعث میشه محاسبات ما بسیار سریعتر انجام بشه.

مشکل لگ زدن فایل های ویدیویی نیز غالباً زمانی پیش می آید که فریمورک سخت افزاری ما توان رندر کردن فرمت در حال اجرا را نداشته باشد و MX Player به ناچار از دیکودر نرم افزاری یا همون CPU جهت رندر کردن فایل استفاده میکند. معمولاً بطور پیشفرض در صورتی که دیکودر HW نتواند فرمت در حال اجرا را پردازش کند، MX Player بطور خودکار به دیکودر +HW روی می آورد، اما ممکن است بخاطر تنظیمات MX Player شما این اتفاق بطور خودکار نیافتد. پس قبل از هر چیز به هنگام بروز مشکل در هنگام اجرای فایل ویدیویی خود، مطمئن شوید که دیکودر +HW را نیز تست کرده اید. برای تغییر دیکودر کافیست به هنگام اجرای فایل، از گزینه های موجود در بالا سمت راست، دیکودر +HW را انتخاب کنید:

 

اگر دیکودر +HW نیز از رندر کردن صحیح فایل ما ناتوان بود (یا این گزینه اصلاً وجود نداشت)، تنها گزینه شما همان دیکودرهای نرم افزاری است که از CPU جهت رندر کردن استفاده میکنند، بنابراین باید MX Player خود را برای استفاده از حداکثر توان گوشی خود تنظیم کنید.

برای این منظور وارد Settings > Decoder شوید و گزینه CPU Core Limit را انتخاب کنید. اکنون با توجه به تعداد هسته های گوشی خود، عدد مربوطه را انتخاب کنید. بطور مثال اگر گوشی شما چهار هسته ای (Quad Core) است، عدد 4 را انتخاب کنید، یا اگر گوشی شما هشت هسته ای (Octa Core) است عدد 8 را انتخاب کنید. توجه کنید که اگر گوشی شما دارای بیش از یک پردازنده است، مجموع هسته های هر دو پردازنده را انتخاب کنید، بطور مثال اگر گوشی شما دارای دو پردازنده چهار هسته ای است باید عدد 8 را انتخاب کنید.

پس از تنظیم تعداد هسته های موجود بر روی دستگاه، گزینه Use speedup Tricks را نیز تیک بزنید و پس از خروج از MX Player گوشی خود را ریبوت کنید (جهت اطمینان) و پس از بالا آمدن مجدد گوشی، فایل خود را اجرا کنید. اکنون فایل ما باید بدون مشکل اجرا شود.

 (برای نمایش تصاویر در سایز بزرگتر بر روی آن کلیک کنید)

 

نکته: اگر فایلی به هنگام استفاده از دیکودر HW یا +HW لگ میزند، میتوانید پس از اعمال تنظیمات فوق، آنرا با دیکودر SW اجرا کنید و به احتمال زیاد مشکل لگ آن نیز حل خواهد شد. گاهی اوقات ممکن است فریمورک سخت افزاری به خوبی از رندر کردن تصاویر بر نیاید، بنابراین ممکن است دیکودر SW با اینکه توان پردازشی پایینتری دارد بتواند بهتر از دیکودر HW یا +HW اقدام به رندر کردن فایل شما نماید. پس در صورت بروز مشکل لگ زدن، مطمئن شوید که هر 3 دیکودر MX Player را امتحان میکنید.

نکته: چنانچه مشکل شما پس از اجرای تمامی موارد فوق حل نگردید، احتمالاً گوشی شما به هیچ عنوان توان پردازشی لازم جهت دیکود و ریندرینگ فایل ویدیویی شما را ندارد. بنابراین برای نمایش آن فایل بر روی گوشی خود باید آن را به فرمت دیگیری Convert کنید و کیفیت آنرا نیز کاهش دهید.