📁 مقالات قد تعجبك

كيفية إصلاح كراش ARC Raiders وخطأ Unhandled Exception في ويندوز

 


حل شامل لمشكلة Crash و "Unhandled Exception: EXCEPTION_ACCESS_VIOLATION" في ألعاب Unreal Engine 5 (ARC Raiders ومثيلاتها)

هل أنت من عشاق ألعاب الفيديو وتواجه صعوبة في الاستمتاع بأحدث الألعاب المبنية على محرك Unreal Engine 5، مثل ARC Raiders؟ هل تظهر لك رسائل خطأ مفاجئة مثل "Unhandled Exception: EXCEPTION_ACCESS_VIOLATION" أو تتوقف اللعبة عن العمل فجأة (Crash) دون سابق إنذار؟ لا تقلق، لست وحدك من يواجه هذه المشكلة الشائعة. في هذه المقالة التفصيلية، سنغوص في أسباب هذه المشكلة وسنقدم لك حلاً جذرياً وفعالاً من خلال تعديل بسيط في سجل النظام (Registry) في ويندوز، وهو حل أثبت فعاليته مع العديد من المستخدمين.

ما هي مشكلة "EXCEPTION_ACCESS_VIOLATION" ولماذا تحدث؟

رسالة "EXCEPTION_ACCESS_VIOLATION" هي واحدة من أكثر الأخطاء شيوعاً التي تواجه مستخدمي الألعاب والتطبيقات الثقيلة. ببساطة، تعني هذه الرسالة أن برنامجاً (في حالتنا، اللعبة) حاول الوصول إلى جزء من الذاكرة أو عنوان معين لا يمتلك صلاحية الوصول إليه. هذا يمكن أن يحدث لعدة أسباب، لكن في سياق ألعاب Unreal Engine 5 تحديداً، غالباً ما يتعلق الأمر بما يسمى "Timeout Detection and Recovery" (TDR).

نظام TDR هو ميزة في ويندوز مصممة للحفاظ على استقرار النظام. عندما يكتشف ويندوز أن معالج الرسوميات (GPU) لا يستجيب لأوامره لفترة معينة (عادةً بضع ثوانٍ)، فإنه يفترض أن هناك مشكلة ويعيد تشغيل برنامج تشغيل كارت الشاشة تلقائياً. إذا لم ينجح ذلك، أو إذا كانت اللعبة تطلب موارد بشكل مكثف يتجاوز هذه الفترة الزمنية المحددة مسبقاً، فقد يؤدي ذلك إلى انهيار اللعبة وظهور رسالة "EXCEPTION_ACCESS_VIOLATION". ألعاب Unreal Engine 5 الحديثة، بفضل رسومياتها المتطورة ومتطلباتها العالية، يمكن أن تدفع كروت الشاشة إلى حدودها القصوى، مما يزيد من احتمالية حدوث هذا السيناريو.

الحل: تعديل قيم TDR في سجل النظام (Registry)

الحل الأمثل لهذه المشكلة يكمن في تعديل قيم TdrDelay و TdrDdiDelay في سجل النظام. هذه القيم تتحكم في المدة الزمنية التي ينتظرها ويندوز قبل أن يقرر أن برنامج تشغيل الرسوميات قد توقف عن الاستجابة. بزيادة هذه القيمة، نعطي كارت الشاشة وقتاً أطول للاستجابة للأوامر المعقدة التي تتطلبها ألعاب Unreal Engine 5، مما يقلل من احتمالية حدوث الانهيار.

الخطوة الأولى: الدخول إلى محرر الريجستري (Registry Editor)

  1. اضغط على زري Windows + R معاً لفتح نافذة "Run".
  2. اكتب regedit في مربع البحث ثم اضغط Enter. قد يُطلب منك تأكيد بصلاحيات المسؤول، وافق على ذلك.
  3. بعد فتح محرر الريجستري، توجه إلى المسار التالي. يمكنك نسخ المسار ولصقه مباشرة في شريط العنوان أعلى نافذة الريجستري لتوفير الوقت:
مسار الريجستري (Registry Path): Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers

الخطوة الثانية: إنشاء وتعديل ملفات الـ TDR

الآن، داخل مجلد GraphicsDrivers، سنقوم بإنشاء ملفين جديدين وتعديل قيمتهما:

  1. في المساحة الفارغة على يمين النافذة، اضغط بزر الفأرة الأيمن.
  2. اختر New > ثم DWORD (32-bit) Value.
  3. قم بتسمية الملف الأول بـ TdrDelay.
  4. انقر نقراً مزدوجاً على TdrDelay الذي أنشأته للتو. في النافذة المنبثقة، تأكد أن Base مضبوط على Decimal، ثم أدخل القيمة 90 في حقل Value data واضغط OK.
  5. كرر الخطوات من 1 إلى 4 لإنشاء ملف ثاني، ولكن هذه المرة سمّه TdrDdiDelay وأعطه أيضاً القيمة 90 بنظام Decimal.

الملفات التي يجب إنشاؤها وقيمها:

  • TdrDelay القيمة: 90 (Decimal)
  • TdrDdiDelay القيمة: 90 (Decimal)

شرح بالفيديو

لمساعدتك على فهم الخطوات بشكل أوضح وتطبيقها بسهولة، إليك شرح بالفيديو يوضح كيفية تنفيذ التعديلات في الريجستري:

الخطوة الثالثة: إعادة تشغيل الجهاز

هذه الخطوة ضرورية جداً! بعد الانتهاء من جميع التعديلات في سجل النظام، يجب عليك إعادة تشغيل الكمبيوتر (Restart) لتطبيق التغييرات. بدون إعادة التشغيل، لن يتم تفعيل القيم الجديدة ولن يختفي الخطأ.

لماذا يعمل هذا الحل؟

بزيادة قيمة TdrDelay و TdrDdiDelay إلى 90 ثانية (القيمة الافتراضية عادة ما تكون أقل من 10 ثوانٍ)، فإننا نخبر نظام ويندوز بأن ينتظر لفترة أطول بكثير قبل أن يقرر أن كارت الشاشة قد توقف عن الاستجابة. هذا الوقت الإضافي يمنح كارت الشاشة فرصة أكبر لإكمال المهام المعقدة والمكثفة التي تطلبها ألعاب Unreal Engine 5 الحديثة، وبالتالي يمنع نظام TDR من التدخل وإعادة ضبط برنامج التشغيل بشكل مفاجئ، وهو ما كان يسبب الـ Crash وظهور الخطأ. هذا الحل يعزز استقرار النظام بشكل عام عند تشغيل الألعاب التي تستهلك موارد رسومية عالية.

نأمل أن يكون هذا الحل قد ساعدك في التغلب على مشكلة "EXCEPTION_ACCESS_VIOLATION" والاستمتاع بتجربة لعب سلسة ومستقرة!
تعليقات