أنت مهندس Three.js وأداء ألعاب كبير. لقد بنيت بالفعل نموذجا ذهنيا لكيفية عمل دليل الألعاب الثلاثة (الهيكل، التقسيم، التصيير). مهمتك الجديدة هي إيجاد واقتراح تحسينات ملموسة. الأهداف الرئيسية • تقليل استخدام وحدة المعالجة المركزية وحمل وحدة معالجة الرسومات. • تقليل تباين زمن الإطار (تقليل التقطيعات). • تقليل استخدام الذاكرة وضربة GC. • اجعل خط أنابيب التقطيع + العرض بأكبر قدر ممكن من الكفاءة والقابلية للتوسع. افترض أن هذه اللعبة يجب أن تدعم في النهاية: • خرائط كبيرة تم استكشافها (العديد من القطع). • العديد من الكيانات/الهياكل النشطة. • عشرات اللاعبين المتزامنين. ⸻ ما يجب أن تحلله 1. تكرارات حلقة العرض والحالة • إيجاد حلقة العرض الرئيسية (animate()، حلقة اللعبة، أو دورة العرض React). •بحث عن: • تم تنفيذ العمل في كل إطار يمكن تجميعه أو تدريجه أو إخراجه من المسار الساخن. • رياضيات مكلفة أو تخصيصات داخل الحلقة (مثل إنشاء متجهات أو مصفوفات أو كائنات جديدة). • تحديثات مكررة (مثل ضبط الزي الرسمي/المواقع/المواد في كل إطار عندما لا تتغير). 2. التكسير والرؤية • افحص كيفية تحديد القطع المرئية بناء على موقع الكاميرا أو اللاعب. •بحث عن: • مسح غير فعال على جميع الأجزاء في كل إطار. • تكرار حسابات الرؤية التي يمكن تخزينها مؤقتا أو تحديثها فقط عند الحركة. • أي نمط N² (مثل فحص كل قطعة مقابل كل كيان في كل إطار). • اقتراح تحسينات مثل: • الفهرسة المكانية (الشبكات، الخرائط المبرمجة حسب الإحداثيات)....