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

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

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

Регистрация: Jul 2006
Сообщений: 46
По умолчанию Долгий while и script is slowly

Требуется отрисовать порядка 6000 и более полигонов/полилиний максимальная скорость отрисовка это
Код:
for(i=0;i<=кол_во_объектов;i++){
   отрисовка
}
в результате чего возникает сообщение flash player о подвисании скрипта (лимит выполнения скрипта в кадре до 15 секунд).
При поиске решения данной проблемы была найдена следующая возможная реализация http://www.flasher.ru/forum/showthread.php?t=113428:
Код:
var nstart:Number = 0;
var nfinish:Number = кол_во_объектов;
var nlimit:Number = 500;
var nlooping:Number;

var intervalID:Number = setInterval(Looping, 1);
function Looping() {
	nlooping = 0;
	while(true){
    	if(nlooping >= nlimit) {
			return;
	  	}
		if(nstart > nfinish) {
			break;
		}
		trace(nstart);
		nlooping++;
		nstart++;
	}
	clearInterval(intervalID);
  	return;
}
Вывод по 500 значений переменной цикла. Является такая реализация оптимальной или существуют более рациональные способы?

Старый 25.08.2008, 16:52
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 2  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Можно просто script time limit компилятору по-больше задать...
Ну а вообще, не дело это по 6к полигонов на ас1-2 отрисовывать. Возможно существует какой-то обходной вариант, который займет меньше ресурсов?


Последний раз редактировалось Obi; 25.08.2008 в 16:54.
Старый 25.08.2008, 17:24
xMailer вне форума Посмотреть профиль Отправить личное сообщение для xMailer Найти все сообщения от xMailer
  № 3  
Ответить с цитированием
xMailer

Регистрация: Jul 2006
Сообщений: 46
Цитата:
Сообщение от Obi Посмотреть сообщение
Ну а вообще, не дело это по 6к полигонов на ас1-2 отрисовывать. Возможно существует какой-то обходной вариант, который займет меньше ресурсов?
да вроде как вариантов остается немного, очевидный генерить image на php (типа google maps) и подгружать во flash, но тогда прощая вектор. Хотелось бы взять готовый map движок и вместо готового MovieClip с картой нарисовать то, что мне нужно

Старый 26.08.2008, 10:13
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 4  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Возможно если написать что ты хочеш делать тебе дадут какието советы по оптимизации?

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

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

Старый 26.08.2008, 10:47
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 6  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Нуко приатачь ко 6000 мувиклипов на сцену. Что без тормазов да? :/

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

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

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


 


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


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