كيفية تمديد فترة المهلة الافتراضية في تطبيق الفلاش؟

StackOverflow https://stackoverflow.com/questions/91318

  •  01-07-2019
  •  | 
  •  

سؤال

لدي تطبيق مكتوب بالفلاش (في الواقع هو مكتوب بلغة Haxe ويتم تشغيله تحت SHWX ولكن لا يهم هنا).لدي مهمة معقدة جدًا تستهلك قدرًا كبيرًا من طاقة وحدة المعالجة المركزية ويتم تنفيذها أحيانًا لأكثر من 15 ثانية.إذا حدث ذلك ، فقد حصلت على خطأ يقول "تم تنفيذ برنامج نصي لفترة أطول من فترة المهلة الافتراضية البالغة 15 ثانية." وكل شيء يتعطل.

أعلم أنه يمكنني استخدام الاستمرارات لمنع حدوث ذلك ولكن هل هناك طريقة لتمديد "فترة المهلة الافتراضية"؟إنها أداة مطور، والمسؤوليات لا تهم حقًا.

هل كانت مفيدة؟

المحلول

طريقة أخرى هي ربط أ swfmill-based swf via -swf-lib Switch وقم بتعيين علامة ScriptLimits هذه هناك، وسيقوم haxe بإعادة استخدامها بعد ذلك.

نصائح أخرى

في CS3+، يمكنك ببساطة تعيين خاصية "الحد الزمني للبرنامج النصي" لملف swf في وقت النشر - وهي موجودة في علامة تبويب الفلاش في إعدادات النشر

عند اختبار التطبيق الخاص بك ، كن على دراية بخاصية ScriptTimeLimit.إذا استغرق تهيئة التطبيق وقتًا طويلاً ، فإن Flash Player يحذر المستخدمين من أن البرنامج النصي يتسبب في تشغيل مشغل فلاش ببطء ويطالب المستخدم بإحباط التطبيق.إذا كان هذا هو الموقف ، فيمكنك تعيين خاصية ScriptTimeLimit للعلامة إلى وقت أطول بحيث يكون لتطبيق Flex وقتًا كافيًا للتهيئة.

ومع ذلك، القيمة الافتراضية لخاصية ScriptTimeLimit هي 60 ثانية ، وهو أيضًا الحد الأقصى, ، لذلك يمكنك فقط زيادة القيمة إذا كنت قد قمت بتعيينها مسبقًا بقيمة أقل.نادراً ما تحتاج إلى تغيير هذه القيمة.

مصدر: http://livedocs.adobe.com/flex/3/html/help.html?content=performance_05.html

لست متأكدًا مما إذا كان هناك شيء أصلي أكثر للقيام بذلك، ولكن يبدو أن هناك الأمر الذي يخترق SWF لإضافة علامة ScriptLimits لتمديد فترة المهلة.

أقترح تقسيم وظيفتك إلى أجزاء أصغر ونشرها على إطارات متعددة.بهذه الطريقة يمكنك عرض رسم متحرك للتقدم ولن يصبح تطبيق Flash غير مستجيب.على سبيل المثال، إذا كان عليك تكرار أكثر من 1000 عنصر، فعليك إجراء 100 عنصر في إطار واحد، ثم مائة أخرى في الإطار التالي، وما إلى ذلك، حتى تنتهي من معالجتها جميعًا.لا أنصح باختراق ملف swf الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top