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

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

  • وتيرة عرض اللقطة
  • تعدد سلاسل المحادثات وتنفيذها بشكل موازٍ
  • التقارب الأساسي لوحدة المعالجة المركزية (CPU)

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

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

ونقترح أن يكون لديك سلاسل تعليمات موازاة للاستفادة من مكاسب الأداء التي تحقِّقها سلاسل التعليمات المتعددة. نذكر على سبيل المثال سيناريو تعمل فيه اللعبة وسلاسل العرض بشكل جزئي أو كلّي في الوقت نفسه على نوى مختلفة. لن يكون هذا ممكنًا دائمًا، كما هو الحال مع تبعيات البيانات التي تتم مشاركتها، ولكن قد يؤدي ذلك عندما يكون ذلك ممكنًا إلى انخفاض أوقات وحدة المعالجة المركزية (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) تبدِّل بين النوى، وتظهر باللون الأرجواني