پیش از این تصور میشد که لکنت حین پخش محتوای 4K در VLC ناشی از نقص فایل ویدیویی است، اما بررسیها نشان میدهد که ریشه اصلی این مشکل، فرایند رمزگشایی سختافزاری است. راهحل این معضل در یکی از زیرمنوهای تنظیمات VLC قرار دارد که کمتر مورد توجه کاربران قرار میگیرد. تغییر بار رمزگشایی از GPU به پردازنده مرکزی (CPU) ممکن است در نگاه اول اقدامی غیرمعمول به نظر برسد، اما در صورت آگاهی از مکانیزم پشتپرده، میتواند گامی مؤثر برای رفع تأخیر و ناهمواری پخش ویدیو باشد.
نقش کارت گرافیک در ایجاد لکنت ویدیو
انتقال بار رمزگشایی از کارت گرافیک به پردازنده مرکزی، راهکاری است که لکنت حین پخش 4K را برطرف میکند. ویدیوهای با رزولوشن بالا ذاتاً نیازمند پردازش سنگین هستند؛ برای نمونه، یک استریم 4K با نرخ 60 فریم بر ثانیه، سیستم را ملزم به خارجسازی حجم عظیمی از دادههای فشرده بلادرنگ میکند. بهصورت پیشفرض، VLC تلاش میکند این فرایند را با ارسال مستقیم جریان ویدیو به APIهای رسانهای سیستم عامل (مانند DXVA2 یا D3D11VA در ویندوز) انجام دهد.
این APIها نقش واسط را ایفا کرده و با درایورهای گرافیکی ارتباط برقرار میکنند. سپس این APIها دادهها را به تراشههای تخصصی تعبیهشده در GPU تحویل میدهند. اگرچه این سختافزار بهگونهای طراحی شده که عملکرد مطلوبی داشته باشد، اما کل این زنجیره نسبتاً شکننده است. عواملی نظیر مشکلات درایور یا تداخلهای نرمافزاری میتوانند به افت فریم منجر شوند. روش Copy-Back که در شتاب سختافزاری توسط گرافیک ها به کار میرود، ایجاب میکند که فریمهای خام و فشردهنشده بهطور مداوم از طریق گذرگاه PCIe میان حافظه ویدئویی (VRAM) و حافظه سیستم (RAM) جابهجا شوند.
این رفتوآمد بهتنهایی میتواند پهنای باند حافظه را اشباع کرده و نظم زمانی پردازش را مختل نماید. همچنین، اجرای همزمان سایر برنامههایی که بهطور پنهان از VRAM مشترک استفاده میکنند، ممکن است VLC را با کمبود حافظه پیوسته برای راهاندازی صحیح رمزگشایی سختافزاری مواجه سازد. بنابراین، با غیرفعالسازی مسیر رمزگشایی GPU و واگذاری مدیریت به CPU، پخش ویدیو پایدارتر میشود. در حالت رمزگشایی نرمافزاری، CPU با بهرهگیری از کتابخانههای بهخوبی آزمودهشده نظیر libavcodec از مجموعه FFmpeg یا رمزگشای AV1 موسوم به dav1d، بار پردازشی را مدیریت میکند و دیگر به درایورهای گرافیکی با رفتار غیرقابلپیشبینی متکی نیست.
پردازندههای ترکیبی چند هستهای نسل جدید، از توان خام کافی برای رمزگشایی بومی ویدیوی 4K بدون نیاز به یاری GPU برخوردارند. این کتابخانههای رمزگشایی مبتنی بر CPU، با استفاده از بهینهسازیهای سطح پایین و چندریسمانی هوشمند، پردازش را هم بهصورت موازی میان فریمها و هم در بخشهای مختلف هر فریم تقسیم میکنند و بدینترتیب بار کاری را بهطور یکنواخت میان تمام هستههای پردازنده پخش مینمایند.
روش غیرفعالسازی رمزگشایی سختافزاری در VLC
برای رفع لکنت پخش ویدیوهای با رزولوشن بالا، کافی است گزینه رمزگشایی شتابیافته سختافزاری را در VLC غیرفعال کنید. این اقدام اگرچه فنی به نظر میرسد، اما در عمل تنها تغییر یک تنظیم ساده است:
- پنجره Preferences را باز کنید. در ویندوز یا لینوکس، از منوی “Tools” در نوار بالایی، گزینه “Preferences” را انتخاب کنید یا از میانبر Ctrl+P استفاده نمایید. در مک، روی نام VLC در نوار منوی بالای صفحه کلیک کرده، به Settings رفته و در صورت نمایش نمای ساده، آن را به نمای پیشرفته تغییر دهید.
- در پنجره بازشده، زبانه “Input / Codecs” را در نزدیکی بالای پنجره انتخاب کنید.
- در بخش “Codecs”، منوی کشویی مربوط به رمزگشایی شتابیافته سختافزاری (Hardware-accelerated decoding) را بیابید. این گزینه احتمالاً روی “Automatic” تنظیم شده است؛ آن را به “Disable” تغییر دهید.
- روی Save کلیک کرده، سپس VLC را کاملاً بسته و مجدداً اجرا کنید تا تغییرات اعمال شوند.

این تنظیم هرچند مصرف انرژی و فشار پردازشی را افزایش میدهد، اما در عوض پخش قابلاطمینانتری بدون لکنت و مشکلات احتمالی مرتبط با سختافزار فراهم میآورد. اگر GPU شما بهتنهایی قادر به رمزگشایی است، به احتمال زیاد CPU شما نیز از توان کافی برخوردار خواهد بود.
هزینههای پنهان این راهکار: افزایش فشار بر سیستم
واگذاری رمزگشایی ویدیو از کارت گرافیک به پردازنده مرکزی، اگرچه لکنت پخش 4K را متوقف میسازد، اما با معاوضههایی همراه است که باید مد نظر قرار گیرند:
- افزایش چشمگیر مصرف CPU: با غیرفعالسازی رمزگشایی سختافزاری، پردازنده باید محاسبات سنگین ریاضی را بهصورت مداوم انجام دهد که پیشتر بر عهده GPU بود. فرمتهایی نظیر HEVC در رزولوشن 4K تا 10 برابر سنگینتر از H.264 معمولی هستند و فرمت AV1 با بیش از 100 ابزار کدگذاری، وضعیت را دشوارتر میسازد.
- ناتوانی پردازندههای قدیمی: در صورت استفاده از پردازندههای قدیمی دو هستهای یا چهار هستهای پایه، احتمال دارد سیستم نتواند از پس این بار سنگین برآید و با کندی، عدم همزمانی صدا و تصویر، و افت فریم مواجه شوید. در چنین شرایطی، هستههای پردازنده به حداکثر ظرفیت خود میرسند و عملکرد کلی سیستم تحت تأثیر قرار میگیرد.
- کاهش منابع برای سایر برنامهها: حتی در پردازندههای جدید و پرقدرت، رمزگشایی نرمافزاری بخش قابلتوجهی از توان پردازشی و حافظه کش L3 را به خود اختصاص میدهد و فضای کمی برای سایر برنامههای پسزمینه باقی میگذارد که ممکن است به نوعی از کارافتادگی سیستم منجر شود.
در مجموع، این راهکار با وجود کارایی بالا در رفع لکنت، نیازمند سنجش توان سختافزاری سیستم و اولویتهای کاربری است.
