2008-09-18 15 views
8

मेरे पास फ़्लैश में लिखा गया एक एप्लिकेशन है (वास्तव में यह हैक्स में लिखा गया है और एसएचडब्ल्यूएक्स के तहत चलाया गया है लेकिन इससे कोई फर्क नहीं पड़ता)। मेरे पास एक बहुत ही जटिल कार्य है जो बहुत सी CPU शक्ति का उपभोग करता है और कभी-कभी 15 सेकंड के लिए निष्पादित करता है। यदि ऐसा होता है, तो मुझे एक त्रुटि मिली है कि 'एक स्क्रिप्ट 15 सेकंड की डिफ़ॉल्ट टाइमआउट अवधि से अधिक समय तक निष्पादित की गई है।' और सब कुछ दुर्घटनाग्रस्त हो जाता है।फ्लैश एप्लिकेशन में डिफ़ॉल्ट टाइमआउट अवधि कैसे बढ़ाएं?

मुझे पता है कि मैं इसे रोकने से रोकने के लिए निरंतरता का उपयोग कर सकता हूं लेकिन क्या 'डिफ़ॉल्ट टाइमआउट अवधि' को बढ़ाने का कोई तरीका है? यह एक डेवलपर टूल है, प्रतिक्रिया वास्तव में कोई फर्क नहीं पड़ता।

उत्तर

2

एक और तरीका है swfmill -based swf -swf-lib स्विच के माध्यम से आधारित एसएफएफ और इस स्क्रिप्टलिमिट टैग को सेट करने के लिए, हैक्स फिर से इसका उपयोग करेगा।

0

मुझे यकीन नहीं है कि ऐसा करने के लिए कुछ और मूल है या नहीं, लेकिन टाइमआउट अवधि बढ़ाने के लिए command that hacks the SWF to add a ScriptLimits tag लगता है।

-2

मैं आपके कार्य को छोटे हिस्सों में तोड़ने और उन्हें कई फ्रेमों पर फैलाने का सुझाव देता हूं। इस तरह आप एक प्रगति एनीमेशन प्रदर्शित कर सकते हैं और फ्लैश एप्लिकेशन उत्तरदायी नहीं बन जाएगा। तो उदाहरण के लिए यदि आपको 1000 से अधिक वस्तुओं को लूप करना है, तो आप एक फ्रेम में 100 करते हैं, फिर अगले फ्रेम में एक और सौ, जब तक कि आप उन्हें संसाधित नहीं करते हैं। मैं अपने swf हैकिंग की सिफारिश नहीं करेंगे।

1

CS3 + में आप बस swf की "स्क्रिप्ट समय सीमा" गुण सेट पर समय प्रकाशित - इसे प्रकाशित सेटिंग्स

1

जब आप अपने आवेदन का परीक्षण के फ्लैश टैब में है, scriptTimeLimit बारे में पता होना संपत्ति। यदि किसी एप्लिकेशन को प्रारंभ करने में बहुत लंबा समय लगता है, तो फ़्लैश प्लेयर उपयोगकर्ताओं को चेतावनी देता है कि एक स्क्रिप्ट फ़्लैश प्लेयर को धीरे-धीरे चलने का कारण बन रही है और उपयोगकर्ता को एप्लिकेशन को निरस्त करने के लिए संकेत देता है। यदि यह स्थिति है, आप टैग की स्क्रिप्टटाइमलिमिट संपत्ति को लंबे समय तक सेट कर सकते हैं ताकि फ्लेक्स एप्लिकेशन में प्रारंभ करने के लिए पर्याप्त समय हो।

हालांकि, scriptTimeLimit संपत्ति के डिफ़ॉल्ट मान 60 सेकंड है, जो भी अधिकतम है है, तो आप केवल मूल्य बढ़ा सकते हैं यदि आपने पहले किसी कम मान पर यह निर्धारित किया है। आपको शायद ही कभी इस मान को बदलने की आवश्यकता है।

स्रोत: http://livedocs.adobe.com/flex/3/html/help.html?content=performance_05.html

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