2011-12-04 15 views
12

मेरे पास एक पृष्ठ है जो बहुत धीमा है, लोड होने में नहीं, बल्कि पृष्ठ पर फॉर्म फ़ील्ड में टाइप करने की प्रतिक्रिया के संदर्भ में।जावास्क्रिप्ट प्रदर्शन: पेज को धीमा करने की जांच कैसे करें?

पृष्ठ पर कोई AJAX नहीं है - यह नेटवर्क परिवहन के साथ कुछ भी नहीं है।

कोड बाधाओं के बारे में जानने के लिए अच्छे उपकरण या रणनीतियां क्या हैं? मुझे क्रोम डेवलपर टूल में कुछ भी नहीं मिला है ताकि मुझे यह बताने के लिए कि बाधाएं कहां हैं।

+0

http://stackoverflow.com/questions/855126/what-is-the-best-way-to-profile-javascript-execution – RightSaidFred

+0

आप Chrome में ऐसी 'Profile' टैब नहीं है? – RightSaidFred

उत्तर

2

ऐसा लगता है कि आपके पास इनपुट फ़ील्ड पर प्रत्येक कुंजी प्रेस पर कुछ ईवेंट फायरिंग है। चीजें आप कर सकते हैं:

  1. यदि Chrome की प्रोफाइलर अपनी आवश्यकताओं फिट नहीं करता है, FireBug या IE9 के प्रोफाइलर जो काफी सभ्य है की कोशिश करो। IE9 में आप देख सकते हैं कि प्रत्येक फ़ंक्शन कॉल पर कितना CPU समय व्यतीत किया गया था।
  2. अस्थायी रूप से फ़ील्ड से हैंडलर को एक-एक करके हटाएं, और प्रदर्शन में किसी भी बदलाव का निरीक्षण करें।

मुझे बताएं कि यह कैसे जाता है!

+0

मुझे लगता है कि आप सही हैं कि हैंडलर फायरिंग हैं, लेकिन मैंने खेतों में कोई भी संलग्न नहीं किया है। सभी क्रोम की टाइमलाइन और प्रोफाइलर बदल जाता है कि jquery के अंदर कुछ कोड फायरिंग है। बहुत अजीब। – Marcin

+0

यह शायद क्लाइंट साइड सत्यापन में लात मार रहा है। –

+0

मुझे आशा है कि, मैंने कोई क्लाइंट-साइड सत्यापन नहीं लिखा है। – Marcin

4

वेबकिट में 'प्रोफ़ाइल' विकल्प है। डेवलपर टूल खोलें (ctrl + shift + i) और 'प्रोफाइल' पर क्लिक करें। वहां से आप नीचे एक रिकॉर्ड बटन (सर्कल) देख सकते हैं। इसे क्लिक करें और अपने पृष्ठ का सामान्य रूप से उपयोग करें। अपने फ़ंक्शन कॉल के लिए अपनी टाइमलाइन को रोकने और निरीक्षण करने के लिए इसे फिर से क्लिक करें!

वैकल्पिक रूप से आप बेंचमार्क कार्यों का उपयोग करके व्यक्तिगत कर सकते हैं:

console.time("Some label"); 
console.timeEnd("Some label"); 
3

मैं इन उद्देश्यों के लिए firebug का उपयोग करें। इसमें profiler शामिल है।

1

इस उद्देश्य के लिए मैंने UX Profiler बनाया। यह कुछ उपयोगकर्ता क्रियाओं (क्लिक, कीप्रेस इत्यादि) के परिणामस्वरूप होने वाली सभी घटनाओं को ट्रैक और समूह करता है और उनके प्रदर्शन को मापता है। तो यह देखना आसान है कि बाधा कहां है।

+0

बेकार है कि आपकी पिछली टिप्पणी हटा दी गई थी। यह प्रश्न के उत्तर के रूप में प्रासंगिक है। – Marcin

+0

कृपया इसे मिटा दें! –

संबंधित मुद्दे