Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.03.2008, 01:09
Fann вне форума Посмотреть профиль Отправить личное сообщение для Fann Найти все сообщения от Fann
  № 1  
Ответить с цитированием
Fann
 
Аватар для Fann

Регистрация: Jun 2006
Адрес: crimea
Сообщений: 69
Отправить сообщение для Fann с помощью ICQ
По умолчанию скрипт заставляет компьютер работать медленно

всем привет. проблема такая: при открытии флешки при большой загруженности компа, ну или если сразу несколько одновременна открывать, вылазиет сообщение о том, что скрипт заставляет компьютер работать медленно, если отвечаешь 'нет', то все ок(окно плеера открывается и нормал дальше). Вопрос: могу ли я как то разрешить скрипту выполняться подольше, до того как плеер решит что он завис? Пробовала в сетингсах увеличить время, но почему-то это не помогло.

Старый 17.03.2008, 02:03
greenya вне форума Посмотреть профиль Отправить личное сообщение для greenya Найти все сообщения от greenya
  № 2  
Ответить с цитированием
greenya

Регистрация: Mar 2008
Сообщений: 6
Не знаю на счет "как попросить плеер разрешить клипу дольше 'висеть'?", но могу посоветовать разбить "зависание" на несколько частей (прописать код на отдельных последовательных кадрах).

Старый 17.03.2008, 10:05
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 3  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Что хоть у вас за код то написан? Можно не for или while использовать а setInterval для итерации...
__________________
"We Are The Champions My Friends!" Queen

Старый 17.03.2008, 10:14
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 4  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
В самой среде разработки Flash вроде бы такой опции нет.
Насколько я знаю, можно изменить это значение (время, которое даётся скрипту на выполнение) с пощью flasm.
Но это всё-таки довольно спорное решение.
Лучше действительно разбить цикл так, чтобы он делал паузы.
Либо через sertInterval/setTimeout, либо через onEnterFrame, это уж кому как нравится.

Вариант 1:
Код:
function startLoop() {
	i = 0;
	loopStep();
}

function loopStep() {
	if (i<100) {
		trace (i);
		i++;
		setTimeout(loopStep, 1);
	} else {
		endLoop();
	}
}

function endLoop() {
	trace ("finished")
}

startLoop();
Вариант 2:
Код:
function startLoop() {
	i = 0;
	onEnterFrame = loopStep;
	loopStep();
}

function loopStep() {
	if (i<100) {
		trace (i);
		i++;		
	} else {
		endLoop();
	}
}

function endLoop() {
	delete onEnterFrame;
	trace ("finished")
}

startLoop();

Старый 17.03.2008, 13:01
Fann вне форума Посмотреть профиль Отправить личное сообщение для Fann Найти все сообщения от Fann
  № 5  
Ответить с цитированием
Fann
 
Аватар для Fann

Регистрация: Jun 2006
Адрес: crimea
Сообщений: 69
Отправить сообщение для Fann с помощью ICQ
так как это просто модуль большого приложения, то размазывать по кадрам не хотелось бы. CorC, код обычный, заполнение датапровайдеров листов, поиск, сортировка и т.д., у меня нет длительных форов, поэтому что то бить на части тоже нет смысла, да и к тому же все функции с циклами запускаются после ответа сервера. Я проста хотела увеличить время инициализации. И мне не понятна почему я не могу этого сделать с помощью Script time limit. Для чего тогда вообще разрешили менять эту настройку(Script time limit)?


Последний раз редактировалось Fann; 18.03.2008 в 00:57.
Старый 18.03.2008, 01:08
Fann вне форума Посмотреть профиль Отправить личное сообщение для Fann Найти все сообщения от Fann
  № 6  
Ответить с цитированием
Fann
 
Аватар для Fann

Регистрация: Jun 2006
Адрес: crimea
Сообщений: 69
Отправить сообщение для Fann с помощью ICQ
WindWalker, спс за ответ, я слышала о flasm, вроде и рекурсию можна увеличить с его помощью. Но у меня вопрос: насколько это безопасна и хорошо использовать его?

Старый 18.03.2008, 02:22
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 7  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
Ну если декомпилировать с помощью flasm и тут же обратно скопилировать с его же помощью, то практически почти получается точно по функциональности .swf (но на десякок байт короче ).
Исключение состовляют файлы, по которым прошлись хорошим обфускатором - с ними, разумеется, могут быть проблемы.
Это по поводу безопасности...

А по поводу, хорошо это или плохо...
От изменения одной лишь этой опции ничего плохого не произойдёт.

Вот для чего-то более серьёзного его редко получалось использовать. Потому что коллеги просто не поняли бы, если бы вместо .fla и набора .as они получили бы в качестве исходников .swf и один большой .flm
Вообще именно как компилятор по работе он пригодился один только раз, когда не было исходников (предыдущий разработчик их не оставил), но нужно было внести небольшие изменения.

А так, исключительно для души, делал пару флешек почти чисто на flasme. Геморрно это конечно - шаг вправо, шаг влево приводит к непредсказуемым последствиям.

Ну, короче, для того чтобы чисто поменять эту опцию - безопасно и хорошо

http://www.nowrap.de/flasm.html

Цитата:
scriptLimits tag

Introduced with Flash Player 7, scriptLimits tag gives you control about the maximum recursion depth and the maximum time before the famous "Script causes the movie to run slowly.." message appears. So far I know, these settings can not be changed in Flash IDE. The following syntax is used:

scriptLimits recursion 2000 timeout 10

While increasing recursion depth (256 by default) is surely useful in some situations, you may actually want to decrease the time-out for ActionScript for testing purposes. Instead of standard 15 or 20 seconds, setting the value to 1 or 2 will immediately show you where the bottlenecks are.

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.