تحليل جدولة سلسلة المحادثات

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

  • مستوى سرعة عرض اللقطة
  • تعدد سلاسل المحادثات وموازاة السلاسل
  • وحدة المعالجة المركزية ذات الاهتمامات المشتركة

تعدد سلاسل المحادثات

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

ننصحك باستخدام سلاسل المحادثات بشكل موازٍ للاستفادة من مزايا سلاسل المحادثات المتعددة في الأداء. ومن الأمثلة على ذلك سيناريو يتم فيه تشغيل سلاسل محادثات اللعبة وعرض سلاسل البيانات بشكل متزامن جزئيًا أو كليًا على نوى مختلفة. لن يكون ذلك ممكنًا دائمًا، كما هو الحال في الحالات التي تعتمد فيها البيانات التي تتم مشاركتها، ومع ذلك، قد يؤدي ذلك كلما أمكن ذلك إلى انخفاض أوقات استخدام وحدة المعالجة المركزية (CPU)، ما قد يؤدي إلى ارتفاع عدد اللقطات في الثانية.

هي لعبة تحتوي على سلسلة تعليمات رئيسية وأخرى عرض متوازية، بالإضافة إلى سلسلة تعليمات وسلسلة محادثات صوتية.
الشكل 1. لعبة تتضمّن سلسلة محادثات رئيسية وعرضية متوازية، بالإضافة إلى سلسلة تعليمات وسلسلة محادثات صوتية

وحدة المعالجة المركزية ذات الاهتمامات المشتركة

أحد العوامل التي تؤثر بشكل كبير في أداء أعباء عمل وحدة المعالجة المركزية (CPU) هي طريقة جدولتها على النواة. يمكن تقسيم ذلك إلى عنصرين:

  • ما إذا كانت سلاسل ألعابك تعمل على أفضل النوى من حيث الأداء
  • إمكانية تبديل سلاسل الألعاب بين النوى بشكل متكرر

يمكنك التحقق من سلوك سلسلة وحدة المعالجة المركزية (CPU) ضمن استخدام وحدة المعالجة المركزية (CPU) من خلال تفعيل وحدة المعالجة المركزية (CPU) في إعدادات الملف الشخصي عند تتبُّع عملية التتبُّع. ويمكنك عرض العمليات الفردية التي تعمل على نوى وحدة المعالجة المركزية (CPU) لجهازك، وذلك عن طريق تكبير قسم من آثار الأنشطة أقل من 200 ملي ثانية. تتوافق عادةً النوى الصغيرة مع الفهارس الأصغر (على سبيل المثال، وحدة المعالجة المركزية (CPU) 0-3) بينما تتوافق النوى الكبيرة مع مؤشرات أعلى (على سبيل المثال، وحدة المعالجة المركزية 6-7).

بشكل عام، عندما تكون اللعبة في المقدّمة، يجب أن تعمل السلاسل الثابتة، مثل سلسلة محادثات اللعبة وسلسلة التعليمات، على أنوية كبيرة عالية الأداء، في حين يمكن أن تتم جدولة سلاسل العمليات والعاملات الأخرى على أنوية أصغر.

لعبة مزوّدة بسلسلة رئيسية وعرض تعمل بشكل أساسي على نوى كبيرة (وحدة معالجة مركزية من 6 إلى 7)، وتظهر بلون أزرق فاتح
الشكل 2. لعبة تتضمّن سلسلة التعليمات الرئيسية والقابلة للعرض وتعمل بشكل أساسي على نوى كبيرة (وحدة معالجة مركزية من 6 إلى 7) وتظهر باللون الأزرق الفاتح

قد تلاحظ أيضًا ما إذا كانت سلاسل ألعابك تبدِّل بين النوى بشكل متكرر، أو إذا كانت النوى الرئيسية وتلك التي تعرِض سلسلة معيَّنة في إطار وحدة معالجة مركزية (CPU) واحد أو بين إطارَين متتاليَين لوحدة المعالجة المركزية. من المحتمل أن يكون سلوك وحدة المعالجة المركزية هذا مؤشرًا على أنّ سلاسل محادثات لعبتك غير مرتبطة بشكل صحيح. وتتحمل هذه المفاتيح الأساسية بعض أعباء العمل بسبب تبديل السياق وفقدان الحالة في ذاكرة التخزين المؤقت أو التسجيلات الخاصة بالنواة، ما يؤدي إلى زيادة طول إطار وحدة المعالجة المركزية (CPU).

لعبة تتضمّن سلسلة تعليمات (Thread-7) وسلسلة عرض (Thread-8) تعمل على التبديل بين نوى الاختبار، وتظهر باللون الأرجواني
الشكل 3. لعبة تتضمّن سلسلة التعليمات الرئيسية (Thread-7) وسلسلة محادثات (Thread-8) تبدِّل بين النوى، وتظهر باللون الأرجواني