مطور هاوي يتغلب على مطوري روكستار العباقرة في تقليل شاشة تحميل لعبة GTA Online بنسبة 70% فكيف فعلها, اليكم الاجابة..

علمنا في الاونة الاخيرة ان احد اللاعبين تمكن من اختزال شاشة التحميل الخاصة بلعبة GTA Online التي يقضي اللاعب امامها اكثر من 6 دقائق (حسب سرعة الجهاز المستخدم) لتصبح قرابة الدقيقة ونصف فقط.

هذا الامر اذهل الكثير من جمهور اللعبة وايضا المختصين في التحليل التقني من بينهم فريق Digital Foundry الذي قام بتحليل ما قام به هذا المطور الهاوي وتوضيح الصورة بشكل اكبر للكثير من اللاعبين الذين يريدون التعرف على الطريقة الذكية التي تمكن من خلالها تخفيض مدة شاشة التحميل بنسبة 70%.

تحديد المشكلة

في البداية وعندما قام t0st بتشغيل اللعبة على جهازه المتواضع لاحظ ان شاشة التحميل تستغل الكثير من الوقت حينها وباستخدام بعض أدوات البرمجة وتصحيح الأخطاء التي يمتلكها تبين له ان الجهد لا يقع على الانترنت التي يعتقد البعض ان سبب التأخير هو محاولة الاتصال بسيرفرات روكستار او على قرص الصلب الذي اعتقد البعض انه السبب في تأخير تحميل اللعبة ولكن الجزء المستهلك بالفعل هو وحدة المعالجة CPU فقط ومن هنا تمكن من تحديد مشكلتين رئيسيتين.

المشكلة الاولى: كانت اللعبة تجبر المعالج لقراءة ملف نصي لجميع العناصر التي يمكن شراؤها في اللعبة – والتي يبلغ عددها 63000 عنصر حيث يبلغ حجم كل ملف من هذه الملفات 10 ميجابايت. لا يعد إجراء هذا العد مرة واحدة أمر مهم ولكن القيام بذلك 63000 مرة يضيف الكثير من الوقت الضائع والضغط على وحدة المعالجة المركزية.

المشكلة الثانية: هي عند تحضير جميع بيانات العناصر التي تمت قراءتها (63000)، تسجل اللعبة البيانات المرتبطة بهذا العناصر (مثل الاسم والسعر والفئة والإحصائيات) وهذا سيتكرر كما نعلم 63000 مرة وهذا يستغل الكثير من الوقت الذي يحسب على اللاعب.

Hacker reduces GTA Online load times by roughly 70 percent | Ars Technica

خلاصة المشكلة حسب تقدير t0st أن هناك 1،984،531،500 عملية تحقق (ما يقرب من 2 مليار عملية!) تتم خلال هذا الوقت وهي تستهلك الكثير من وقت والكثير من جهد وحدة المعالجة المركزية وتقوم اللعبة بهذه العمليات للتأكد من عدم وجود عناصر مكررة في القائمة النهائية، ولكن نظرًا لأن القائمة تكون فارغة تماما وأن الملف الذي يتم تحميله لا يحتوي على نسخ مكررة، فإن كل هذه العملية لا معنى لها بشكل أساسي.

حل المشكلة

لحل المشكلة شاشة التحميل GTA Online قام t0st بعمل ملف الكاش الخاص به والذي وضع فيه جميع الملفات التي تقوم اللعبة بقرائتها في كل مرة تقوم بتحميل اللعبة فيه بحيث تعمل تماما مثل ملف cache المؤقت بحيث تحتفظ اللعبة بالعمليات الحسابية مرة واحدة ولا تقوم بتكرار نفس العملية مرة جديد مع كل عملية تحميل وهذا اختصر العمليات الحسابية التي تقوم بها اللعبة من 63000 عنصر الى عنصر واحد فقط, اختصار كبير جدا للجهد الذي يقع على وحدة المعالجة CPU وايضا اختصار للوقت.

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

النتيجة

مع تطبيق خطوات الاصلاح هذه تم تحميل GTA Online بشكل أسرع. على جهاز الكمبيوتر الخاص بـ t0st حيث ادى تجنب فحص العناصر المكررة إلى تقليل وقت التحميل من ست دقائق إلى أربع دقائق ونصف، ومع الاصلاح الثاني لتحميل العناصر ادى إلى تقليل العملية برمتها إلى دقيقة واحدة و 50 ثانية فقط. وهذا يمثل انخفاض بنسبة 69.4 في المائة في أوقات التحميل، وهو أمر لا يصدق على الإطلاق خاصة ان الامر لا يتطلب سوى خطوتين عمليتين يمكن اتمامهما في ساعات معدودة.

Release]Gta Online loading screen - Releases - Cfx.re Community

خطوة جيدة وذكية من t0st يمكن ان تكون درس قاسي لمطوري استيديوهات روكستار الذين عملوا على اللعبة لمدة تزيد عن 7 سنوات تم خلالها اعادة انتاج اللعبة بنسخة محسنة مرتين الاولى على الحاسب الشخصي والثاني على منصات الجيل الماضي والان يستعدوا لاعادة اطلاقها على الجيل الجديد ولكن هل سينتبهوا اخيرا الى هذه المشكلة وهذا الحل البسيط؟ نتمنى ذلك..

زكريا احمد

مؤسس ورئيس قسم التحرير في موقع VGA4A, محب لالعاب الفيديو منذ نعومة اظافري امتلكت معظم اجهزة الالعاب المنزلية منذ جهاز العائلة و حتى الجيل الحالي افضل سلسلة العاب بالنسبة لي هي ريزيدنت ايفل, وظيفتي طبيب
زر الذهاب إلى الأعلى

أنت تستخدم إضافة Adblock

انت تستخدم اداة مانع الاعلانات لمنع ظهور الاعلانات في الموقع, نتمنى منك تعطيلها لمساعدتنا في الاستمرار
close button