मैं एक एनिमेटेड जीआईएफ दिखाता हूं जो चलता है जबकि मेरा AJAX अनुरोध प्रगति पर है और मेरी स्क्रिप्ट ने प्रतिक्रिया को संसाधित करने के बाद रोक दिया है।क्या यह सच है कि जीआईएफ एनीमेशन सभी मुख्यधारा के ब्राउज़र में जावास्क्रिप्ट के समान थ्रेड पर चलता है?
हालांकि यह काम करता है, मुझे लगता है कि अनुरोध से प्रतिक्रिया मेरी स्क्रिप्ट में संसाधित की जा रही है (जिसमें डीओएम का काफी भारी अद्यतन होता है) एनीमेशन फ्रीज होता है।
मेरा शोध मुझे विश्वास दिलाता है कि ऐसा इसलिए है क्योंकि जीआईएफ की एनीमेशन उसी थ्रेड पर होता है जिस पर जावास्क्रिप्ट चल रहा है - ब्राउज़र वास्तव में सिंगल-थ्रेडेड है। क्या यह सभी मौजूदा मुख्यधारा के ब्राउज़र (जैसे क्रोम, फ़ायरफ़ॉक्स, सफारी, आईई) के लिए सही व्याख्या है?
दूसरा, ऐसा क्यों किया जाता है? क्या यह वास्तव में संभव नहीं है कि ब्राउजर जीआईएफ एनिमेशन में थ्रेड समर्पित कर सके ताकि जावास्क्रिप्ट के ब्लॉक को निष्पादित किए जाने पर वे जमा न हों?
अद्यतन
This एक दिलचस्प पेज है। यह शुद्ध CSS3 एनिमेशन का उपयोग करने के बारे में बात करता है। वे अभी भी फ़ायरफ़ॉक्स में फ्रीज हैं - शायद जल्द ही एफएफ इसे ठीक करेगा। ऐसा लगता है कि मुझे एनीमेशन के लिए सीएसएस पर विचार करना चाहिए बल्कि जीआईएफ का उपयोग करना चाहिए।
इस जांच करना आसान नहीं होना चाहिए? वेब इंस्पेक्टर को ऊपर खींचें, ब्रेकपॉइंट सेट करें। मेरा अनुमान नहीं है, लेकिन अगर यह वास्तव में है, तो शायद यह लोगों को gifs का उपयोग बंद करने में मदद करेगा, इस मामले में, शायद इसे ठीक नहीं किया जाना चाहिए ... –
ठीक है हाँ, ब्रेकपॉइंट सेट करने से एनिमेटेड जीआईएफ चलने से रोकता है। तो, एनिमेटेड जीआईएफ के लिए आपका विकल्प क्या है? –
मेरे पास एक * खुद * नहीं है, और ऐसा लगता है कि क्लाइंट सॉफ़्टवेयर में व्यापक रूप से समर्थित प्रारूप नहीं है जो जीआईएफ की भयानक गुणवत्ता की स्थिरता से मेल खाता है, लेकिन आपको पता होना चाहिए कि जीआईएफ प्रारूप स्वयं (और सभी ज्ञात हैं सॉफ़्टवेयर जो इसे प्रस्तुत करता है) बहुत पुराना है। जीआईएफ सामूहिक रूप से हमें कई गिगावाटों से लूटता है, मैं डरता हूं। और मोबाइल उपकरणों पर किसी भी गैर-तुच्छ समाधान के लिए कुत्ते-धीमी गति से चलता है –