2011-03-02 12 views
55

मैं वर्तमान में एक साइट पर काम कर रहा हूं, और कहीं भी स्टाइलशीट के अपने द्रव्यमान में, कुछ आईई में प्रदर्शन को मार रहा है। क्या वहां कोई अच्छा सीएसएस प्रोफाइलर्स हैं? मुझे एक ऐसा उपकरण चाहिए जो प्रदर्शन को मारने वाले नियमों को निर्धारित कर सके।सीएसएस प्रदर्शन प्रोफाइलर?

इससे पहले कि आप पूछें, मैंने जावास्क्रिप्ट, अस्पष्टता, और बॉक्स-छाया/टेक्स्ट-छाया नियम अक्षम कर दिए हैं। पृष्ठ अभी भी अजीब है। :/अगर मैं सभी सीएसएस को अक्षम करता हूं, तो यह बहुत अच्छा चलता है।

मुझे ऐसे टूल की आवश्यकता है जो पृष्ठ को प्रोफाइल कर सके और रिपोर्ट करें कि सीएसएस की बाधाएं कहां हैं।

+0

तो ऐसा लगता है जैसे नकली सीएसएस नियम केवल आईई 9 हैं। यह सही है, आईई 7/8 इस पृष्ठ पर आईई 9 के दरवाजे बंद कर देता है। मैंने दो साफ वर्चुअल मशीनों का उपयोग करके इस परिणाम को दोबारा जांच लिया। आईई 9 था जो एकमात्र पर्यावरण था। :/ –

+0

एक अन्य दिलचस्प बात यह है कि IE9 में IE7 या IE8 मोड में स्विचिंग बाधा को समाप्त करती है। –

उत्तर

67

तो, मैं अंत में एक जावास्क्रिप्ट समारोह है कि मेरी सीएसएस वर्गों के सभी अनुक्रमित लिखने के लिए चारों ओर हो गया अनुकूलन में मदद चाहिए पृष्ठ को स्क्रॉल करते समय पृष्ठ और फिर व्यक्तिगत रूप से उन्हें टॉगल किया गया। यह तुरंत गलती कक्षा को इंगित करता है, और वहां से, मैं ग़लत संपत्ति निर्धारित करने में सक्षम था। border-radius को उस तत्व पर बदलता है जिसमें कई बच्चे होते हैं (उदा। शरीर का स्तर div) अविश्वसनीय रूप से IE9 पर खराब प्रदर्शन करता है। https://github.com/andyedinborough/stress-css

वहाँ से, आप आसानी से किसी भी पृष्ठ पर परीक्षण चलाने के लिए एक बुकमार्कलेट स्थापित कर सकते हैं:

मैं अपने सीएसएस तनाव परीक्षण के लिए एक GitHub रेपो शुरू कर दिया है।

+1

अच्छा काम! यह भी बताता है कि क्यों आईई 7/आईई 8 स्विचिंग इसे तेजी से काम करता है। –

3

हम्म, इस तरह के एक उपकरण के बारे में कभी नहीं सुना।

आप कोई भी मिल जाए, बाहर देखने के लिए चीजों के लिए मैन्युअल रूप से

  • किसी भी filter बयान शामिल होंगे -

  • (क्लासिक alpha=opacity और दूसरों आईई बहुत उन्नत ग्राफिकल फिल्टर है कि बहुत महंगी हैं की एक संख्या है)
  • विशाल तत्वों (पिक्सल के हजारों बड़े की तरह)

  • विशाल पृष्ठभूमि छवियों - हो सकता है उन सब को एक पल के लिए निकालना चाहते हैं?

मैं दृढ़ता से पहला बिंदु पर शक होगा - अल्फा ट्रांसपरेंसिस, एक भयानक प्रतिपादन टोंटी हो सकता है विशेष रूप से पुराने सिस्टम पर।

+0

धन्यवाद पेक्का, लेकिन अस्पष्टता को अक्षम करना वास्तव में मैंने पहली चीजों में से एक था। हालांकि इससे कुछ मदद मिली, फिर भी एक अंतराल है। –

+0

@ एंडी हाँ, आपने पहले ही अस्पष्टता का उल्लेख किया है - क्षमा करें। –

6

Google से Page Speed प्लगइन में एक ऐसा अनुभाग है जो आपके सीएसएस का विश्लेषण करता है और आपको अक्षम चयनकर्ताओं के बारे में बताता है, शायद वहां से शुरू हो सकता है?

hth

नोट: मैं अपने एक Firefox प्लगइन पता है, लेकिन थोड़ा :)

+1

धन्यवाद, मैं पेज स्पीड के बारे में भूल गया था। भले ही यह वास्तव में नहीं है जो मैं ढूंढ रहा हूं, यह सहायक है। –

+1

एक चीज जो आप कर सकते हैं जो समस्याग्रस्त क्षेत्र की पहचान करेगा, सीएसएस का आधा टिप्पणी है, इसका परीक्षण करें, अगले आधे पर टिप्पणी करें। जब आपको वह आधा मिल जाता है जो इसे धीमा कर देता है, तो दोहराएं लेकिन उस आधा में दोहराएं। फिर आपको वह नियम मिलेंगे जो समय ले रहे हैं। बस, जबकि आप के लिए एक गूगल होने im :) –

+0

अजीब बात है मैं इसे नीचे संकीर्ण करने के लिए ... लगभग प्रत्येक नियम की तरह नहीं कर पा रहे एक और विचार समान रूप से अपमानजनक प्रदर्शन है। :/ –

0

ओपेरा अपने प्रोफाइलर में सीएसएस प्रोफाइलिंग के साथ प्रयोग कर रहा है।

इसे following the steps on this page सक्षम किया जा सकता है। फिर प्रोफाइलर खोलें, प्रोफाइलिंग शुरू करें, और उस पृष्ठ को रीफ्रेश करें जिसे आप विश्लेषण करना चाहते हैं। समाप्त करने के बाद प्रोफाइलिंग रोकें, तो परिणाम दिखाए जाएंगे।

2

मेरे पास वर्तमान में एक वेब प्रोजेक्ट पर प्रदर्शन समस्याएं भी हैं जिन पर मैं काम कर रहा हूं। यह फ़ायरफ़ॉक्स, क्रोम, यहां तक ​​कि आईई 8 में भी अच्छा प्रदर्शन करता है। आईई 9 में यह नीचे गिर जाता है।

कुछ जासूसी कार्यों के बाद मैंने पाया कि सभी बॉक्स-छाया सीएसएस लाइनों को समाप्त करने में काफी सुधार हुआ है। मेरे पास बैनर, टेबल, बक्से और टैब से छाया थी, प्रत्येक में केवल छाया और धुंध की एक सूक्ष्म मात्रा थी, लेकिन जाहिर है कि आईई 9 के लिए सभी मूडी प्राप्त करने के लिए पर्याप्त है।

+0

मैं Nexus 4 पर क्रोम मोबाइल पर एक कठोर सुधार जब एक ही 115px इनसेट बॉक्स छाया (एक पारदर्शी ओवरले div में) को हटाने के लिए किया था। छोटी छाया को हटाने से आनुपातिक रूप से छोटे प्रदर्शन में सुधार हुआ। –

1

क्रोम देव उपकरण इस तरह की चीज करने के लिए सीएसएस चयनकर्ता प्रोफाइलर रखने के लिए प्रयुक्त होते थे। आप in this blog post के स्क्रीन शॉट देख सकते हैं।

क्रोम टीम pulled the feature in Chrome 30 कि बताते हुए:

CSS चयनकर्ता मिलान आम चयनकर्ताओं कि प्रोफाइलर क्रियान्वयन के समय धीमी गति से हुआ करता था की पूर्ण बहुमत के लिए यथोचित तेजी से अब है। इस बार टाइमलाइन "रिकैक्यूलेट स्टाइल" घटना में भी शामिल है।

इस तरह, मेरा मानना ​​है कि सीएसएस चयनकर्ता प्रोफाइलर उतना उपयोगी नहीं है जितना [संभवतः] इस्तेमाल किया जा सकता है और सुरक्षित रूप से गिराया जा सकता है। यह पहले से ही तेजी से चयनकर्ताओं को माइक्रो-ऑप्टिमाइज़ करने की कोशिश कर रहे डेवलपर्स के अंश को भी कम करेगा।

आप मुद्दे में खुदाई करने के लिए Chrome के किसी पुराने संस्करण का उपयोग करने की कोशिश कर सकते हैं, लेकिन मैं के साथ क्रोम देव उपकरणों के वर्तमान संस्करण के Timeline tab पर एक नज़र डालने आपको बताएंगे कि कब तक क्रोम ले लिया है की सलाह देते हैं शैलियों की गणना करने के लिए (जहां चयनकर्ता प्रदर्शन प्रभावित होता है), लेआउट और पृष्ठ को पेंट करें।

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