الشاشة السوداء في GameLoop هي فشل صامت في محرك العرض، لا انهيار
يعرض GameLoop سواداً بدل رسالة خطأ حين يفشل سطح العرض في الإقلاع. وموضع السواد — المشغّل أم اللعبة أم بعد alt-tab — يحصر السبب في واحد من أربعة.
الشاشة السوداء هي ما يعرضه GameLoop حين يفشل سطح العرض لديه في الإقلاع. المحاكي نفسه حي: العملية تعمل، والصوت يُسمع أحياناً، والنافذة تستجيب للنقر. لكن لا شيء يُرسم داخلها. وهذا الصمت هو سبب شعورك بأن العطل أصعب مما هو عليه — فلا توجد رسالة خطأ تبحث عنها.
قبل أي شيء آخر، حدِّد أين تظهر الشاشة السوداء. فالحالات الثلاث لا يجمعها شيء تقريباً.
| أين يظهر السواد | الطبقة المرجَّح أنها السبب |
|---|---|
| المشغّل لا يرسم شاشته الرئيسية أبداً | تثبيت تالف، أو مكتبات التشغيل التي تعتمد عليها الواجهة |
| الشاشة الرئيسية سليمة، واللعبة تسوَدّ بعد الضغط على Play | مسار العرض (DirectX/OpenGL) أو تعيين كرت الشاشة |
| السواد فقط بعد الخروج بـ alt-tab والعودة | تسليم وضع ملء الشاشة الحصري |
الأسباب الجذرية الأربعة
عدم تطابق محرك العرض. يختار GameLoop مسار عرض عند التشغيل. وإذا عجز عن تهيئة سطح كرت الشاشة على المسار الذي اختاره، فهو لا يتراجع إلى بديل ولا يشتكي — بل لا يرسم شيئاً.
تعيين كرت الشاشة. على حاسوب محمول يحمل كرتاً مدمجاً وآخر منفصلاً، قد يسلّم Windows برنامج GameLoop إلى الشريحة المدمجة. وحسب اللعبة والدقة، تنتهي النتيجة بنافذة سوداء بدل أداء بطيء.
حالة التعريف. والاتجاهان محسوبان. فتعريف عمره سنوات وتعريف حُدِّث الأسبوع الماضي قادران بالقدر نفسه على تعطيل مسار العرض، ولهذا فإن نصيحة "حدّث التعريفات" صحيحة في نصف الحالات وخاطئة في النصف الآخر.
ذاكرة مؤقتة قديمة. بعد تحديث GameLoop أو اللعبة، قد تتعارض ملفات متبقية من النسخة السابقة مع الجديدة. والشاشة السوداء في أول تشغيل بعد التحديث تنتمي عادةً إلى هذا السبب أو إلى الذي قبله.
الحلول، مرتَّبة حسب تكرار نجاحها
امنحه دقيقة أولاً. في أول تشغيل بعد تحديث اللعبة، يجري عمل على الشيدرات والأصول قبل رسم أي شيء. وإغلاق النافذة بعد ثلاثين ثانية والحكم بأنها معطّلة طريقة شائعة لصناعة هذه المشكلة.
بدّل وضع العرض. في إعدادات المحرك داخل GameLoop، انتقل من DirectX إلى OpenGL أو العكس، احفظ، ثم اخرج من المحاكي كلياً من شريط النظام قبل إعادة التشغيل. وكروت AMD القديمة ورسوميات Intel المدمجة هي المستفيد المعتاد من OpenGL.
افرض الكرت المنفصل. إما عبر لوحة تحكم الشركة المصنِّعة بإضافة ملف GameLoop التنفيذي واختيار المعالج عالي الأداء، وإما عبر إعدادات Windows، ثم النظام، ثم العرض، ثم الرسوميات، حيث يمكن ضبط GameLoop على High performance. وهذا أول ما يُجرَّب على أي حاسوب محمول.
حدِّث التعريف أو تراجع عنه. راجع تاريخ التعريف في Device Manager تحت Display adapters. حديث ومعطوب حديثاً يعني التراجع؛ وقديم يعني التحديث، من موقع الشركة المصنِّعة لكرت الشاشة نفسها. وأعد التشغيل في الحالتين.
امسح الذاكرة المؤقتة. مع إغلاق GameLoop كلياً، أفرغ محتويات cache وtemp تحت مجلدات Tencent GameLoop في %AppData% و%LocalAppData%. احذف المحتويات، لا المجلدات.
أصلح اللعبة، لا المحاكي. إن بدأت الشاشة السوداء مع تحديث موسم، فأعد تثبيت اللعبة من داخل مدير الألعاب في GameLoop نفسه، لا من Add/Remove Programs في Windows. فتقدّمك محفوظ على خوادم الناشر، لا على قرصك.
أعد تثبيت حزم Visual C++ Redistributable. مكتبات التشغيل الناقصة أو التالفة تنتج أعطالاً صامتة، ومحرك العرض من الأشياء التي لن تُحمَّل. وصفحة Microsoft نفسها تسرد الحزم المدعومة حالياً؛ ثبّت نسختي x86 وx64 معاً.
ما لا يُصلحها
رفع تخصيص الذاكرة والمعالج. إعطاء المحاكي أنوية أكثر وذاكرة أكبر نصيحة قياسية في كل منتدى، وهي إعداد أداء. والسطح الذي لا يُهيَّأ أصلاً لن يُهيَّأ بجهد أكبر مع 8 غيغابايت.
إعادة تثبيت GameLoop كخطوة أولى. هي الملاذ الأخير لسبب وجيه: تستغرق أطول وقت، وتمحو إعداداتك، ولا تعالج سوى السببين الوحيدين في هذه القائمة اللذين هما فعلاً تلف ملفات.
تعطيل مضاد الفيروسات وتركه معطلاً. إن أعاد إيقاف الحماية الصورة، فالجواب هو استثناء مجلد، لا Windows بلا حماية إلى الأبد.
تغيير إعداد الرسوم داخل اللعبة. الشاشة السوداء فشل في الرسم من الأساس. والنزول من High إلى Low يغيّر ما كان سيُرسم، لا ما إذا كان أي شيء يُرسم.