2011-01-31 23 views
7

सीएसएस text-transform प्रसंस्करण के मामले में महंगा है? ऐसा लगता है कि ब्राउजर को कुछ काम करने के लिए मजबूर होना पड़ता है जिसे सामान्य रूप से ( में परिवर्तित नहीं किया गया) की आवश्यकता होती है, लेकिन क्या यह प्रसंस्करण की एक बड़ी मात्रा है? क्या यह बिल्कुल प्रदर्शन को प्रभावित करता है?सीएसएस पाठ-परिवर्तन "महंगा"

+0

में टाइप करें, आपको लगता है कि टेक्स्ट-ट्रांसफॉर्म महंगा क्यों है? आपने इसका आकलन कैसे किया? –

+7

मैंने यह नहीं कहा * महंगा था - मैंने अभी सवाल पूछा ... – Hogsmill

उत्तर

15

यह क्लाइंट के ब्राउज़र से थोड़ा अधिक प्रसंस्करण ले सकता है, लेकिन जब तक आप पृष्ठों और पृष्ठों के पृष्ठों को बदल नहीं रहे हैं (और यदि आप ऐसा कर रहे हैं, तो आप कुछ गलत कर रहे हैं) यह पूरी तरह से महत्वहीन होगा।

आपके पास अपनी स्टाइलशीट (भारी फ़ाइल) में सीएसएस संपत्ति लिखी जाने का ओवरहेड भी है, लेकिन एक बार फिर यह केवल कुछ वर्ण हैं और इससे कोई फर्क नहीं पड़ता है।


मुझे उत्सुकता मिली इसलिए मैंने कुछ बुनियादी मानक चलाए। फ़ायरफ़ॉक्स 3 पर मैंने लॉरम लिप्सम के 200 अनुच्छेदों वाला एक पृष्ठ प्रदर्शित किया।

प्रतिपादन इसे ले जब text-transform:none जोड़ने 0.150s को 0.175s के बीच

मैं किसी भी महत्वपूर्ण अंतर नहीं दिख रहा है होगा।

जब text-transform:uppercase जोड़ने यह अब ले जाता है जब text-transform:capitalize जोड़ने अब यह लेता है 0.350s और 0.380s

के बीच

जब text-transform:lowercase जोड़ने यह अब 0.320s का समय लगता है 0.320s और 0.350s

के बीच

और 0.350s

तो जाहिर है कि हमारे पास कुछ प्रोहेड प्रोसेसिंग है, लेकिन एक बार फिर मैं पूंजीकरण कर रहा हूं सैकड़ों लाइनें और इसकी कीमत केवल 0.2 है। इसलिए यदि मैं आप थे तो मैं प्रदर्शन के बारे में सोचने के बिना इसका उपयोग नहीं करूँगा जबतक कि आप पाठ के बड़े हिस्से को टेक्स्ट-ट्रांसफॉर्म नहीं करना चाहते।

+0

अच्छा, वह * महत्वपूर्ण है। स्टाइलशीट में प्रदर्शन का महत्व क्यों है, इसका एक अच्छा उदाहरण भी है (यदि आप खाते में संचयी पहलू लेते हैं)। – Boldewyn

+0

@boldewyn यदि आप पूरे टेक्स्ट को अपरकेस करने का प्रयास करते हैं तो यह महत्वपूर्ण है, लेकिन यदि आप इसे केवल "क्लासिक" उद्देश्यों के लिए उपयोग करते हैं, तो आपको इसके बारे में चिंता नहीं करनी चाहिए – marcgg

+0

@marcgg: मेरा मतलब है, यह समेकित होगा। बहुत से लोग बुरे चयनकर्ता शैली के बारे में बताते हुए लेखों पर मुस्कुराते हैं, लेकिन जैसा कि आप देख सकते हैं, सीएसएस की एक पंक्ति प्रतिपादन गति को दोगुना कर सकती है। – Boldewyn

2

मुझे कोई कारण नहीं दिख रहा है कि यह किसी अन्य सीएसएस शैली की तुलना में और अधिक 'महंगा' क्यों होना चाहिए। यह सब एक स्ट्रिंग को ऊपरी/निचले मामले में परिवर्तित करता है, जो शायद ही कभी सबसे अधिक कर लगाने की प्रक्रिया है जिसे कंप्यूटर से करने के लिए कहा जा सकता है।

मैं इसकी तुलना इटालिक्स या बोल्ड में प्रदर्शित करने के साथ करूंगा; ये दोनों शैली पूरी स्ट्रिंग के लिए फ़ॉन्ट को प्रभावी ढंग से बदलती हैं, लेकिन यदि आप ब्राउज़र के लिए प्रोसेसर गहन हैं, तो आप उनका उपयोग नहीं करने पर विचार नहीं करेंगे, क्या आप?

एकमात्र समय जब आप मुश्किल समय के रूप में text-transform के बारे में सोच सकते हैं तो यह होगा कि यदि आप एक गैर-लैटिन चरित्र सेट का उपयोग कर रहे हैं, तो किस मामले में ऊपरी/निचले मामले में परिवर्तित हो सकता है। लेकिन आप यह सुनिश्चित कर सकते हैं कि ब्रोवर निर्माताओं को कवर किया गया है। (और किसी भी मामले में, यदि आप उस स्थिति में हैं, तो आप text-transform का उपयोग क्यों करना चाहेंगे?)

+1

'फ़ॉन्ट-शैली: इटालिक' और 'टेक्स्ट-ट्रांसफॉर्म-अपरकेस' के बीच का अंतर यह है कि बाद वाले को वास्तविक वर्ण डेटा को प्रदर्शित करने के लिए * बदलना होगा *। यह सिर्फ एक अलग फ़ॉन्ट का चयन नहीं कर रहा है और फ़ॉन्ट रेंडरर को अपना काम करने दे रहा है। – Boldewyn

+2

@ बोल्डविन शायद आप ब्राउज़र के कुछ कार्यान्वयन विवरण जानते हैं। मुझे प्रासंगिक विवरण नहीं पता हैं और इसलिए यह माना होगा कि फ़ॉन्ट बदलने से सस्ता होने के लिए एक वर्ण कोड बदलना होगा। फ़ॉन्ट बदलने से पहले किसी भी प्रकार के फ़ॉन्ट परिवर्तन, शायद स्मृति आवंटित करना होगा, पहले स्थान पर। एक वर्ण कोड को ओवरराइट करना मेरे लिए सस्ता दिखता है। –

4

यदि आप मोबाइल के लिए डिज़ाइन कर रहे हैं, तो हर छोटी मदद करता है। यदि यह गतिशील नहीं है, तो इसे अपरकेस

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