هل من الطبيعي أن ترى انخفاضًا عرضيًا (مرة كل بضع ثوانٍ) في معدل الإطارات إلى ما يقرب من 0 ~ 30 إطارًا في الثانية؟ (العادي هو 60 إطارًا في الثانية) عند تسجيل app.ticker.FPS
، أرى انخفاضًا في كثير من الأحيان يستمر فقط كإطار واحد وليس له تأثير مرئي على السلاسة الفعلية للعبة (لكنني أضرب كل شيء من خلال دلتا لذلك قد يحدث ذلك. لأنني لا أستطيع ملاحظة ارتفاعات التأخر).
pixi.js
: v5.0.0-rc.2لست متأكدًا مما إذا كان هذا هو الحال هنا ولكن عادةً ما تكون هذه الأنواع من الانخفاضات بسبب جمع القمامة. إذا كنت تقوم بإنشاء وتدمير كائنات مرارًا وتكرارًا ، فستتطلب هذه الفواق القبيح. الطريقة الشائعة للتخفيف هي تجميع الكائنات وإعادة تدويرها بدلاً من إنشاء كائن جديد والتخلص منه بعيدًا. إليك بعض المعلومات حول ذلك: https://www.html5rocks.com/en/tutorials/speed/static-mem-pools/
شكرًا لك ، لقد أجريت بعض تحسينات GC (كنت أقوم بإنشاء وظيفة جديدة في كل مكالمة تحديث ، uwu) ويبدو أن ارتفاع التأخر قد انتهى (على الأقل في معظم الأحيان)! لأي مشاهدين في المستقبل ، http://buildnewgames.com/garbage-collector-fri friendly-code/ هذه المقالة ساعدت كثيرًا أيضًا.
إغلاق هذا الآن :)
تم قفل سلسلة الرسائل هذه تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح قضية جديدة للأخطاء ذات الصلة.
التعليق الأكثر فائدة
لست متأكدًا مما إذا كان هذا هو الحال هنا ولكن عادةً ما تكون هذه الأنواع من الانخفاضات بسبب جمع القمامة. إذا كنت تقوم بإنشاء وتدمير كائنات مرارًا وتكرارًا ، فستتطلب هذه الفواق القبيح. الطريقة الشائعة للتخفيف هي تجميع الكائنات وإعادة تدويرها بدلاً من إنشاء كائن جديد والتخلص منه بعيدًا. إليك بعض المعلومات حول ذلك: https://www.html5rocks.com/en/tutorials/speed/static-mem-pools/