ميزة مخفية في ستيم حلت مشكلة التأتأة في الألعاب قبل حتى الضغط

Cybersecurity Arab

المسؤول الحقيقي وراء التأتأة أثناء اللعب: وحدة المعالجة المركزية مثقلة بملايين الشيدرات

توسع ألعاب الفيديو بشكل هائل، وتأتي الألعاب الحديثة محملة بكم هائل من الشيدرات. لكل نوع إطار، هناك عدة إطارات مختلفة تُستخدم لتحقيق تأثيرات مختلفة. تُكتب هذه الشيدرات بلغات مختلفة، مثل HLSL أو GLSL، بناءً على ما إذا كانت مكتوبة لـ DirectX أو Vulkan. ونظرًا لوجود ملايين التأثيرات، تحتاج وحدة المعالجة المركزية إلى تجميعها في الوقت الفعلي، وهو ما يسبب توقفًا مؤقتًا في اللعبة عند ظهور تأثير جديد على الشاشة، مثل انفجار أو منطقة جديدة في الخريطة.

This one hidden Steam feature solved my game stuttering before I even hit play

الآلية كالتالي: تقوم وحدة المعالجة المركزية بتجميع الشيدرات، ويقوم برنامج التشغيل بترجمتها إلى تعليمات لوحدة معالجة الرسومات؛ إذ لا تستطيع وحدة معالجة الرسومات تنفيذها مباشرة وتحتاج إلى تحويلها إلى لغة آلة بواسطة وحدة المعالجة المركزية. التأخير في تحويل الشيدرات إلى لغة آلة في كل مرة تظهر فيها مشهد جديد يسبب التأتأة والتوقفات. لهذا قد تلاحظ أن إعادة لعب نفس المستوى أو المرور بنفس التأثير مرتين لا يسبب تأتأة بعد ذلك، لأن تلك الشيدرات قد تم تجميعها أثناء الجولة الأولى.

تجميع الشيدرات مسبقًا يحل المشكلة، لكنه يستغرق وقتًا طويلاً

تجمع معظم الألعاب الحديثة الشيدرات مسبقًا قبل السماح لك حتى ببدء اللعب. هذه العملية الطويلة تشمل تجميع جميع الشيدرات الممكنة قبل إطلاق اللعبة، ثم تخزينها محليًا. لكل جهاز كمبيوتر سطح مكتب تكوين مختلف، ولا يوجد إعداد موحد يستخدم نفس الذاكرة أو بطاقة الرسومات أو المعالج؛ وإلا لكانت الشيدرات تأتي مسبقة التجميع مع الألعاب. هذا أيضًا هو السبب وراء عدم مواجهة consoles لهذه المشكلة، حيث يعرف المطورون المواصفات مسبقًا ويوزعون الألعاب مع الشيدرات مسبقة التجميع.

صورة توضيحية من المقال
صورة توضيحية من المقال

تجميع الشيدرات مسبقًا هو شر لا بد منه، ويكرهه مجتمع ألعاب الكمبيوتر بأكمله، لأنه في بعض الحالات قد يستغرق ما يصل إلى ساعة، مثل إعادة صنع The Last of Us Part 1 على الكمبيوتر الشخصي. علاوة على ذلك، فإن ألعاب Unreal Engine 5 عمومًا عرضة لمشاكل الشيدرات بسبب وجود عدد أكبر من variants الشيدرات، وهي نادرًا ما تكون مُحسنة لأجهزة الكمبيوتر المكتبية، وهو ما جعل المحرك يكتسب سمعة سيئة في مجتمع الألعاب.

هذه الميزة في ستيم تقوم بالعمل الثقيل نيابةً عنك

يقوم ستيم بتنزيل بيانات الشيدرات مسبقة التجميع بدلاً من تجميعها يدويًا

صورة توضيحية من المقال

يحتوي ستيم على ميزة مخفية تسمى Pre-cache تعمل على تسريع تجميع الشيدرات. تقوم هذه الميزة بتنزيل بيانات الشيدرات مسبقة البناء من خوادم Valve، والتي تحتوي على الشيدرات الشائعة المستخدمة من قبل مستخدمين آخرين. بدلاً من بناء الشيدرات من الصفر، يتم العمل في الخلفية قبل أن تضطر حتى إلى بدء اللعبة. والأفضل من ذلك، أنك لست بحاجة إلى تحميل جهازك بأعباء العمل الثقيلة — فأنت تقوم ببساطة بتنزيل الشيدرات من الخادم. يجمع ستيم أيضًا بيانات استخدام الشيدرات في الخلفية، لذا تعرف خوادم Valve بالضبط ما يجب جلبه في المرة التالية.

لتفعيل Pre-cache في ستيم، انتقل إلى: إعدادات ستيم -> التنزيلات -> تجميع الشيدرات مسبقًا -> تفعيل تجميع الشيدرات مسبقًا. هناك أيضًا خيار لتفعيل معالجة Vulkan في الخلفية، والذي أنصحك به بشدة. على عكس DirectX، حيث تتولى برامج التشغيل إدارة تخزين الشيدرات، فإن Vulkan يضع هذه المسؤولية على عاتق التطبيق. يعتمد Pre-cache في ستيم بالكامل على Fossilize، وهي مكتبة متخصصة في Vulkan، ولهذا تستفيد ألعاب Vulkan أكثر من DirectX.

صورة توضيحية من المقال

في الألعاب التي تتطلب تجميع الشيدرات مسبقًا، لا يستطيع ستيم التحكم في ذلك — فسيظل يتم تجميع الشيدرات محليًا.

Pre-cache هو بداية جيدة، وليس حلاً سحريًا

يعمل Pre-cache في ستيم على wonder، مما يوفر لي أوقات الانتظار المزعجة في كل مرة أقوم فيها بتثبيت لعبة جديدة وأضطر إلى قضاء ما يصل إلى ساعة في انتظار تجميع الشيدرات. ومع ذلك، فإن تخزين الأنابيب ليس هو الشيء الوحيد الذي سيجعل التأتأة تختفي بشكل سحري — يجب عليك التأكد من أن إعدادك يلبي متطلبات الأجهزة للعبة، وقبل كل شيء، أن برامج تشغيل بطاقة الرسومات لديك محدثة.

إرسال تعليق