کامپایل شیدر یکی از دلایل احتمالی مکثهای ناگهانی و افت روانی تصویر در بازیهای کامپیوتری است. اگر هنگام اجرای دوباره یک بازی با کارت گرافیک انویدیا با لگهای مقطعی مواجه میشوید، ممکن است کش شیدر بازی حذف شده باشد و پردازنده مجبور شود بخشی از شیدرها را دوباره کامپایل کند. افزایش محدودیت فضای کش شیدر در تنظیمات درایور انویدیا میتواند در بعضی سیستمها به کاهش این مکثها کمک کند.
این تنظیم بهخصوص برای افرادی کاربرد دارد که بازیهای AAA متعددی نصب کردهاند و بین آنها جابهجا میشوند. البته افزایش حجم کش همیشه باعث افزایش FPS نمیشود و نتیجه به نوع بازی، وضعیت درایور و سختافزار سیستم بستگی دارد.
چرا کش شیدر انویدیا پاک میشود و بازیها دوباره لگ میزنند؟
شیدرها بخشهایی از کدهای گرافیکی هستند که برای پردازش جلوههای بصری بازی استفاده میشوند. کارت گرافیک برای اجرای این کدها به نسخهای قابل اجرا نیاز دارد و فرایند تبدیل آنها به کد مناسب سختافزار، کامپایل شیدر نامیده میشود.
در بسیاری از بازیها، شیدرها هنگام اولین اجرا یا در زمان بارگذاری مراحل کامپایل میشوند. درایور گرافیک نسخههای کامپایلشده را در کش شیدر ذخیره میکند تا در اجراهای بعدی مجبور نباشد همان محاسبات را از ابتدا انجام دهد. این کار میتواند به کاهش مکثهای ناگهانی و روانتر شدن اجرای بازی کمک کند.
مشکل زمانی ایجاد میشود که فضای اختصاصیافته به کش کافی نباشد. در این وضعیت، درایور ممکن است شیدرهای قدیمیتر را حذف کند تا برای اطلاعات جدید جا باز شود. در نتیجه، اگر مدتی بعد دوباره سراغ یک بازی قدیمی بروید، احتمال دارد بخشی از شیدرها دوباره کامپایل شوند.
این موضوع در سیستمهایی که چندین بازی سنگین نصب دارند، بیشتر اهمیت پیدا میکند. بازیهای جدید مبتنی بر DirectX 12 نیز ممکن است به حجم قابلتوجهی از دادههای شیدر نیاز داشته باشند.
نکته مهم این است که کش شیدر با حافظه گرافیکی (VRAM) یکسان نیست. این کش معمولاً روی فضای ذخیرهسازی رایانه قرار میگیرد و هدف آن نگهداری دادههای کامپایلشده است. بنابراین افزایش محدودیت کش شیدر لزوماً به معنی اختصاص دادن VRAM بیشتر به بازی نیست.
چگونه حجم Shader Cache انویدیا را در ویندوز افزایش دهیم؟
برای رفع مشکل حذف مکرر کش شیدر، میتوانید محدودیت فضای آن را در کنترل پنل انویدیا افزایش دهید. این تنظیم بهخصوص زمانی مفید است که بازیهای زیادی دارید و فضای پیشفرض برای نگهداری شیدرهای آنها کافی نیست.
مراحل انجام تنظیمات در ویندوز به این صورت است:
- کنترل پنل انویدیا را باز کنید.
- وارد بخش تنظیمات سهبعدی شوید.
- در زبانه تنظیمات سراسری، گزینه اندازه کش شیدر را پیدا کنید.
- مقدار موردنظر را از فهرست انتخاب کنید.
- روی Apply کلیک کنید تا تنظیمات ذخیره شوند.
NVIDIA Control Panel > Manage 3D settings > Global Settings > Shader Cache Size
کنترل پنل انویدیا > مدیریت تنظیمات سهبعدی > تنظیمات سراسری > اندازه کش شیدر
چه حجمی برای کش شیدر مناسب است؟
اگر فقط چند بازی نصب دارید، مقدار پیشفرض درایور ممکن است کافی باشد. برای کتابخانهای بزرگتر، میتوانید گزینه 5 GB یا 10 GB را امتحان کنید. در نسخههایی که گزینههای بزرگتری مانند 100 GB یا Unlimited دارند، انتخاب مقدار بیشتر نیز امکانپذیر است؛ البته باید فضای خالی دیسک را در نظر بگیرید.
بهتر است ابتدا ۵ گیگابایت و ۱۰ گیگابایت را انتخاب کنید و نتیجه را در بازیهایی که بیشتر اجرا میکنید بسنجید. نیازی نیست صرفاً برای افزایش FPS، بیشترین مقدار ممکن را انتخاب کنید.
اگر از کارت گرافیک AMD استفاده میکنید، تنظیمات کش و شیوه مدیریت آن با انویدیا متفاوت است. در بسیاری از نسخههای درایور AMD، مدیریت کش بهصورت خودکار انجام میشود و گزینهای با عملکرد کاملاً مشابه کنترل پنل انویدیا در اختیار کاربر نیست.
آیا افزایش کش شیدر باعث افزایش FPS و کاهش لگ بازی میشود؟
مهمترین مزیت افزایش حجم کش شیدر، کاهش احتمال کامپایل مجدد شیدرهایی است که قبلاً ساخته شدهاند. این تغییر لزوماً میانگین FPS را به شکل محسوسی افزایش نمیدهد؛ تأثیر اصلی آن ممکن است در کاهش مکثهای کوتاه و بهبود ثبات زمان نمایش فریمها دیده شود.
برای ارزیابی نتیجه، فقط به میانگین FPS توجه نکنید. معیارهایی مانند 1% Low و Frame Time نیز اهمیت دارند. معیار اول عملکرد فریمهای کندتر را نشان میدهد و معیار دوم مدتزمان لازم برای نمایش هر فریم را اندازه میگیرد. جهشهای ناگهانی در زمان فریم میتوانند نشانهای از مکثهای محسوس در بازی باشند.
در یک آزمایش روی سیستمی مجهز به کارت گرافیک RTX 4060 و پردازنده Ryzen 7 7800X3D، نتایج زیر برای سه بازی گزارش شده است. این اعداد نتایج همان آزمایش هستند و نباید آنها را تضمینی برای تمام سیستمها دانست.
|
بازی |
1% Low قبل |
1% Low بعد |
زمان فریم قبل |
زمان فریم بعد |
جهش مکث قبل |
جهش مکث بعد |
|---|---|---|---|---|---|---|
|
007 First Light |
42 FPS |
44 FPS |
16.7 ms |
15.1 ms |
65 ms |
42 ms |
|
The Last of Us Part II Remastered |
38 FPS |
39 FPS |
20 ms |
17.8 ms |
75 ms |
58 ms |
|
Cyberpunk 2077 |
61 FPS |
62 FPS |
12.5 ms |
11.4 ms |
38 ms |
30 ms |
این نتایج نشان میدهند که در آزمایش موردنظر، زمان فریم و شدت جهشهای مکث کاهش یافته است؛ اما میزان تغییر در هر بازی متفاوت بوده و افزایش 1% Low نیز محدود بوده است. همچنین اجرای مجدد بازی پس از تکمیل کش میتواند بهتنهایی باعث روانتر شدن تجربه شود.
اگر هنوز در بازیها لگ دارید چه کار کنید؟
افزایش کش شیدر تمام مشکلات عملکرد بازی را برطرف نمیکند. اگر پس از تغییر تنظیمات همچنان با افت فریم یا مکثهای ناگهانی مواجه هستید، موارد زیر را بررسی کنید:
- درایور کارت گرافیک: نصب یا بهروزرسانی درایور ممکن است باعث بازسازی کش شود. پس از بهروزرسانی، اولین اجرای بعضی بازیها میتواند با مکث همراه باشد.
- مصرف پردازنده و کارت گرافیک: اگر CPU یا GPU به محدودیت عملکرد خود رسیده باشد، افزایش کش بهتنهایی مشکل را حل نمیکند.
- فضای خالی دیسک: کش شیدر برای نگهداری دادههای کامپایلشده به فضای ذخیرهسازی نیاز دارد. محدودیت آن را متناسب با فضای آزاد تنظیم کنید.
- تنظیمات خود بازی: بعضی بازیها شیدرها را پیش از ورود به محیط بازی کامپایل میکنند و برخی دیگر این کار را هنگام اجرا ادامه میدهند.
- کش خراب یا معیوب: اگر بازی پس از اجرای مجدد همچنان دچار اختلال است، احتمال خرابی دادههای کش نیز وجود دارد. پاکسازی کش میتواند در بعضی موارد کمک کند؛ با این حال، پس از آن شیدرها باید دوباره ساخته شوند.
در نهایت، اگر از کارت گرافیک انویدیا استفاده میکنید و چندین بازی سنگین روی سیستم دارید، افزایش اندازه کش شیدر به 5 GB یا 10 GB یک اقدام منطقی برای آزمایش است. پس از تغییر تنظیمات، بازی را چند بار اجرا کنید و نتیجه را در شرایط مشابه بسنجید. اگر مشکل ناشی از حذف مکرر شیدرها باشد، ممکن است مکثهای ناگهانی کاهش پیدا کنند؛ اما اگر عامل اصلی گلوگاه سختافزاری یا مشکلات خود بازی باشد، باید علت دیگری را بررسی کنید.
گیم پلنت
