هل هناك نوع من مدير المهام لجافا سكريبت في Firefox 3؟

StackOverflow https://stackoverflow.com/questions/7540

سؤال

لقد واجهت مؤخرًا مشكلات مع Firefox 3 على Ubuntu Hardy Heron.

سأقوم بالنقر على الرابط وسيظل معلقًا لفترة من الوقت.لا أعرف ما إذا كان هذا خطأ في Firefox 3 أو صفحة تستخدم الكثير من JavaScript من جانب العميل، ولكنني أرغب في محاولة تصحيحه قليلاً.

لذا، سؤالي هو "هل هناك طريقة للحصول على نوع من مستكشف العمليات، أو نوع من مدير المهام لمتصفح فايرفوكس 3؟"

أود أن أكون قادرًا على معرفة علامات التبويب التي تستخدم النسبة المئوية للمعالج الخاص بي عبر JavaScript في تلك الصفحة (أو أي شيء في الصفحة يتسبب في استخدام وحدة المعالجة المركزية/الذاكرة).

هل يعرف أحد البرنامج المساعد الذي يفعل هذا، أو شيء من هذا القبيل؟هل قام أي شخص آخر بهذا النوع من التفتيش بطريقة أخرى؟

أعرف شيئًا عن FireBug، لكن لا يمكنني أن أتخيل كيف سأستخدمه لتحديد علامة التبويب التي تستخدم الكثير من الموارد.

أي اقتراحات أو رؤى؟

هل كانت مفيدة؟

المحلول

من المحتمل أن يكون خطأ رهيب في Firefox3 Fsync, ، وهي كومة عملاقة من الفشل.

في ملخص

  • يحفظ Firefox3 إشاراته المرجعية وتاريخه في قاعدة بيانات SQLite
  • في كل مرة تقوم فيها بتحميل صفحة، يتم كتابتها في قاعدة البيانات هذه عدة مرات
  • يهتم SQLite بشدة بعدم فقدان إشاراتك المرجعية، لذلك في كل مرة يكتب فيها، يوجه النواة لتدفق ملف قاعدة البيانات الخاص بها إلى القرص والتأكد من كتابته بالكامل
  • العديد من إصدارات نظام التشغيل Linux، عندما يُطلب منها التدفق بهذه الطريقة، تقوم بمسح كل ملف.قد يستغرق هذا ما يصل إلى دقيقة أو أكثر إذا كانت لديك مهام في الخلفية تقوم بأي نوع من المهام المكثفة على القرص.
  • تجعل النواة متصفح فايرفوكس ينتظر أثناء حدوث هذا التدفق، مما يؤدي إلى قفل واجهة المستخدم.

نصائح أخرى

لذا، سؤالي هو، هل هناك طريقة للحصول على نوع من مستكشف العمليات، أو نوع من مدير المهام لمتصفح فايرفوكس 3؟

نظرًا للطريقة التي تم بها إنشاء Firefox، فإن هذا غير ممكن في الوقت الحالي.لكن الإصدار الجديد من Internet Explorer 8 Beta 2 ومتصفح Google Chrome الذي تم الإعلان عنه للتو يتجهان في هذا الاتجاه، لذا أعتقد أن Firefox سيتجه إلى هناك أيضًا.

هنا مشاركة ( مدير العمليات في جوجل كروم )، بواسطة John Resig من Mozilla وjQuery المشهورة حول هذا الموضوع.

لا توجد أداة من نوع "مستكشف العمليات" لمتصفح Firefox؛ولكن هناك http://developer.mozilla.org/en/docs/Venkman مع وضع التوصيف، والذي يمكنك استخدامه لمعرفة الوقت الذي تقضيه البرامج النصية لـ chrome (بمعنى عدم المحتوى، أي ليست صفحة ويب).

مما قرأته عنه، قد يكون DTrace مفيدًا أيضًا لهذا النوع من الأشياء، ولكنه يتطلب إنشاء بنية مخصصة وربما إضافة تحقيقات إضافية إلى المصدر.لم ألعب معها بنفسي بعد.

هناك مناقشة مستفيضة لهذا وهذا ما يفسر جميع المشكلات المتعلقة بـ fsync والتي أثرت على إصدارات ما قبل 3.0 من FF.بشكل عام، لم أر هذا السلوك منذ ذلك الحين أيضًا، ولا ينبغي أن يكون هناك مشكلة على الإطلاق إذا كان نظامك لا يقوم أيضًا بمهام الإدخال والإخراج المكثفة.يُعد Firebug/Venkman مصححات أخطاء رائعة، لكن سيكون من المؤلم اكتشاف هذه الأنواع من المشكلات في كود شخص آخر، IMO.

أتمنى أيضًا أن تكون هناك طريقة سهلة للنظر في استخدام وحدة المعالجة المركزية في Firefox عن طريق علامة التبويب، على الرغم من أنني غالبًا ما أجد نفسي مع FF يأكل وحدة المعالجة المركزية بنسبة 100٪، ولكن لا يوجد دليل على الجزء الذي يسبب المشكلة.

ملف التعريف XUL هو امتداد رائع يمكنه الإشارة إلى الإضافات وJS من جانب العميل الذي أصبح موزًا على وحدة المعالجة المركزية.وهو لا يعمل على أساس كل علامة تبويب، بل على أساس البرنامج النصي (أو نحو ذلك).يمكنك عادةً ربط نصوص .js هذه بعلامات التبويب أو الامتدادات الخاصة بك يدويًا.

ومن الجدير بالذكر أيضًا أن Google Chrome يحتوي على مدير مهام جيد حقًا يوفر استخدام الذاكرة ووحدة المعالجة المركزية لكل علامة تبويب وملحق ومكون إضافي.

[XUL Profiler] هو ملف تعريف Javascript.يُظهر الوقت المنقضي في كل طريقة كرسوم بيانية ، بالإضافة إلى إعادة رسم مناطق القماش المتصفح للمساعدة في تعقب أجزاء وحدة المعالجة المركزية المستهلكة من التعليمات البرمجية.

يتتبع جميع مكالمات JS وأحداث الطلاء في سياق Xul و Pages.يبني الرسوم المتحركة التي توضح ديناميكيًا مناطق القماش التي يتم إعادة رسمها.

اعتبارًا من FF 3.6.10، لم يعد محدثًا حيث لم يتم وضع علامة عليه على أنه متوافق بعد الآن.لكنها لا تزال تعمل ويمكنك تجاوز عدم التوافق مع ما هو رائع بنفس القدر ملحق مجموعة أدوات MR Tech.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top