إذا كان هناك شيء واحد مشترك بين جميع الأجهزة التي تعمل بنظام التشغيل SteamOS أصلاً، فهو أن شرائح الرسومات الموجودة بداخلها لا يمكنها الوصول إلى قدر كبير من VRAM. هذه مشكلة صغيرة في بعض الألعاب، ولكن بفضل عبقرية مجموعة من المبرمجين، تم طرح حل في أحدث إصدار 3.8.20 النسخة التجريبية لنظام تشغيل Valve.
كما أشار TechPowerUp، أحد المبرمجين المعنيين هو ناتالي فوك، الذي يصف دورهم بأنهم “مقاول مستقل لشركة Valve على RADV، برنامج تشغيل Vulkan مفتوح المصدر الذي طوره المجتمع لوحدات معالجة الرسومات AMD.” وفي وقت سابق من هذا العام، نشر Vock منشورًا على مدونته حول حل للمشكلات المتعلقة بكيفية تعامل Linux مع تخصيص VRAM واستخدامه، لذلك ليس من المفاجئ على الإطلاق أن تقوم Valve بتطبيق هذا في SteamOS.
وأنا متأكد من أنكم تعلمون جميعًا، تحتوي وحدات معالجة الرسومات المنفصلة على مجموعة من الذاكرة المخصصة لها بالكامل (المعروفة أيضًا باسم VRAM). ومع ذلك، هذه ليست الذاكرة الوحيدة التي يمكنهم اللعب بها، وهناك مجموعة إضافية داخل ذاكرة النظام تسمى جدول ترجمة الرسومات (GTT للاختصار). على الرغم من أن هذا تتم إدارته بواسطة نظام التشغيل، إلا أنه مرئي بالكامل لوحدة معالجة الرسومات.
المشكلة الرئيسية في GTT هي أن وحدة معالجة الرسومات (GPU) تصل إليها عبر واجهة PCIe الخاصة بالجهاز، والتي تتمتع بنطاق ترددي أقل بكثير (بالإضافة إلى فترات استجابة إجمالية أسوأ) من VRAM المخصصة. وهذا يعني أنه إذا كانت البيانات التي تطلبها وحدة معالجة الرسومات موجودة داخل GTT، فسوف ينخفض الأداء في تلك المرحلة.
تتعامل الألعاب والتطبيقات الأخرى مع هذا من خلال التأكد من أن ما تحتاجه وحدة معالجة الرسومات بالفعل موجود في VRAM، ولكن إذا كان هناك إجمالي بيانات أكثر مما هو متاح في المجموعة المخصصة، فسيقوم نظام التشغيل بنقل الأشياء (على سبيل المثال، تنفيذ عملية إخلاء) للاحتفاظ بالأشياء المهمة في VRAM والفائض في GTT.
ربما يمكنك أن ترى لماذا تعتبر عمليات الإخلاء هي المشكلة الحقيقية هنا. أولاً، ليس لدى نظام التشغيل أي فكرة عن البيانات المهمة أو غير المهمة؛ نظرًا لأن ذاكرة الرسومات افتراضية لوحدة معالجة الرسومات، فهي لا تعرف ذلك أيضًا. ثانيًا، يعد نقل البيانات بشكل مستمر بين مجمعات الذاكرة بمثابة وصفة لتوقف الأداء، لذلك تم تطوير “استراتيجية التخصيص” لمدير ذاكرة Linux.
“بدلاً من تحديد VRAM باعتباره المجال الوحيد المقبول لوضع التخصيص فيه، فإن كل طلب تخصيص VRAM سيحدد كلاً من “VRAM” و”GTT” كمجالات ذاكرة محتملة،” يوضح Vock. “ستفسر النواة ذلك على أنه VRAM مفضل، ولكن إذا لم تكن هناك مساحة، فستكون GTT بديلاً مقبولاً ولن تحاول النواة إخراج ذاكرة VRAM أخرى لتوفير مساحة.”
ومع ذلك، كما اكتشف Vock أثناء اختبار استخدام VRAM مع Cyberpunk 2077 على وحدة معالجة الرسومات مع 8 جيجابايت من الذاكرة المخصصة، كان نظام التشغيل يستخدم 1370 ميجابايت من GTT، على الرغم من أن اللعبة كانت تستخدم 6105 ميجابايت فقط. كانت تطبيقات الخلفية الأخرى تستخدم بعضًا من VRAM أيضًا، لكن Linux لم يكن في الأساس حازمًا بما يكفي لضمان تخصيص كل VRAM تقريبًا للعبة Cyberpunk 2077.
الحل؟ مجموعات التحكم في لينكس (مجموعات c للاختصار). هذه إحدى ميزات Linux kernel التي تمنحك تحكمًا دقيقًا في كيفية تخصيص الموارد وتحديد أولوياتها وإدارتها لمجموعات المهام أو العمليات المحددة من قبل المستخدم. باستخدام مجموعات التحكم، يمكنك “حماية” الذاكرة من الإخلاء أو وضع حدود لمقدار الذاكرة التي يمكن استخدامها قبل بدء عمليات الإخلاء.
ما كان مفقودًا هو وحدة تحكم VRAM cgroup، ولكن بفضل جهد جماعي من Vock، وMaarten Lankhorst من Intel، وMaxime Ripard من Red Hat Linux، تم تصحيح kernel الناتج (بمساعدة dmemcg-booster) كان هو الإصلاح الذي كان Vock يهدف إليه. واستمروا أيضًا في تطوير بعض تصحيحات kernel الإضافية لمساعدة kernel على فهم سيناريوهات الألعاب بشكل أفضل، من منظور الذاكرة.

تظهر مدونتهم بوضوح التحسن: انخفض استخدام VRAM في Cyberpunk 2077 من 6,105 إلى 7,395 ميجابايت، وانخفض GTT من 1,370 إلى 650 ميجابايت. مع وجود المزيد من البيانات الآن في المكان المناسب، أصبحت اللعبة الآن أقل عرضة للتلعثم والتوقف المؤقت الطويل.
الآن، قد تتساءل عما إذا كان أ سطح البخار سوف تستفيد كثيرا من هذا. ربما تكون الإجابة لا، وذلك لأنه يستخدم وحدة معالجة الرسومات (GPU) المدمجة، لذا تتم استضافة كل من “VRAM” وGTT داخل ذاكرة النظام. قد تكون هناك بعض المكاسب التي يمكن تحقيقها من عدم الاضطرار إلى نقل مؤشرات الذاكرة إلى مواقع خارج ذاكرة الرسومات المخصصة، ولكنها ستكون بسيطة في أحسن الأحوال.
ولكن بالنسبة ل آلة البخار وأي جهاز آخر يعمل بنظام التشغيل SteamOS مع وحدة معالجة رسومات منفصلة، من عمل شركة Vock وآخرون. هي نعمة مطلقة. بخلاف تجربة نظام التشغيل التجريبي الجديد، الشيء الوحيد المتبقي لنا هو أن نتمنى أن تتمتع Microsoft بنفس المستوى من التفاني في حل مشكلات إدارة الذاكرة.
أفضل منصات الألعاب 2026





