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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.08.2005, 10:13
unlexx вне форума Посмотреть профиль Отправить личное сообщение для unlexx Найти все сообщения от unlexx
  № 11  
Ответить с цитированием
unlexx

Регистрация: Jun 2005
Адрес: Ekaterinburg
Сообщений: 235
Отправить сообщение для unlexx с помощью ICQ
Цитата:
Сообщение от jab
ректангл это что? ))
это обыкновенный залитый шейп в виде прямоугольника

Старый 11.08.2005, 11:38
kost@ вне форума Посмотреть профиль Отправить личное сообщение для kost@ Посетить домашнюю страницу kost@ Найти все сообщения от kost@
  № 12  
Ответить с цитированием
kost@
[+ 1.7 - 04.02.2006]
 
Аватар для kost@

Регистрация: Jul 2005
Адрес: ПТЗ
Сообщений: 313
Отправить сообщение для kost@ с помощью ICQ
С FPS=1 можно забыть про кадровую анимацию, зато появляется раздолье для программной анимации! Интересно почему setInterval может работать быстрее, чем onEnterFrame?
Попробовал с помощью setInterval() подвигать картинку: особой разницы не почувствовал...

Старый 11.08.2005, 11:48
kost@ вне форума Посмотреть профиль Отправить личное сообщение для kost@ Посетить домашнюю страницу kost@ Найти все сообщения от kost@
  № 13  
Ответить с цитированием
kost@
[+ 1.7 - 04.02.2006]
 
Аватар для kost@

Регистрация: Jul 2005
Адрес: ПТЗ
Сообщений: 313
Отправить сообщение для kost@ с помощью ICQ
а вообще вопрос о том, стоит ли переходить на растр и будет ли при этом меньше тормозов - вопрос спорный! когда начинаешь шевелить растр (я слышал там про зум и понял, что картинку у тебя вправо/влево будет ходить), тоже появляются тормоза! попробуй на картинку 800х600 налжить эффект вспышки и посмотри чего получится... может немного попробовать оптимизировать векторный рисунок, чтобы просчета меньше было? сгладить где нужно, убрать лишнее?

Старый 11.08.2005, 11:53
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 14  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Сообщение от D-MAN
Открою страшную тайну. Сам с такой фигней столкнулся. FPS ставь на 1, а onEnterFrame'ы заменяй на setInterval. Как ни странно, моя прога заработала где в 10 раз быстрее. Понимаю, в первого взгляда мистика, но кто знает... =)
Проведем два эксперимента. Суть заключается в том, что мы создаем вызов функции 30 раз в секунду с помощью onEnterFrame и с помощью setInterval, а потом получаем среднее время вызова данной функции.

1. Создаем клип с fps 30 и ставим такой код:
Код:
y = 10;
this.onEnterFrame = function () {
	cx++;
	if (cx == y) {
		trace ((getTimer () - r) / y);
		clearInterval (id);
	}
};
r = getTimer ();
2. Создаем клип с fps 1 и ставим другой код:
Код:
y = 100;
f = function () {
	cx++;
	if (cx == y) {
		trace ((getTimer () - r) / y);
		clearInterval (id);
	}
};
r = getTimer ();
id = setInterval (f, 1 / 30);
Теперь сравниваем результаты. У меня получилось в первом случаи в районе 33, а во втором в районе 98.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 11.08.2005, 13:27
Ion вне форума Посмотреть профиль Найти все сообщения от Ion
  № 15  
Ответить с цитированием
Ion
Banned
[5 01.09.2006]

Регистрация: Jun 2005
Сообщений: 1,805
Надо понимать, что это происходит потому, что enterFrame перерисовывает всю сцену, не зависимо от изменения содержимого, а Interval изменяет только то, что нужно. И никакой мистики

Старый 11.08.2005, 13:39
kost@ вне форума Посмотреть профиль Отправить личное сообщение для kost@ Посетить домашнюю страницу kost@ Найти все сообщения от kost@
  № 16  
Ответить с цитированием
kost@
[+ 1.7 - 04.02.2006]
 
Аватар для kost@

Регистрация: Jul 2005
Адрес: ПТЗ
Сообщений: 313
Отправить сообщение для kost@ с помощью ICQ
Цитата:
Сообщение от Ion
enterFrame перерисовывает всю сцену, не зависимо от изменения содержимого, а Interval изменяет только то, что нужно.
Думаю, что немного не так! onEnterFrame по сути функция. Она не перерисовывает кадр, а всего лишь делает то, что указано в ее теле. Выяснить, почему она работает медленно будет затруднительно, т.к. придется засучив рукава лезть с отладчиком в код самого плейера. Видать контекст вызова onEnterFrame намного больше, чем setInterval! Насколько он больше? Как показывают замеры - раз в 10-ть. Так что пока - это все-таки мистика 80)


Последний раз редактировалось kost@; 11.08.2005 в 13:42.
Старый 11.08.2005, 13:53
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 17  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Сообщение от kost@
Во втором (setInterval) = 3.14
ты fps на 1 не сменил
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 11.08.2005, 14:18
kost@ вне форума Посмотреть профиль Отправить личное сообщение для kost@ Посетить домашнюю страницу kost@ Найти все сообщения от kost@
  № 18  
Ответить с цитированием
kost@
[+ 1.7 - 04.02.2006]
 
Аватар для kost@

Регистрация: Jul 2005
Адрес: ПТЗ
Сообщений: 313
Отправить сообщение для kost@ с помощью ICQ
Цитата:
Сообщение от iNils
ты fps на 1 не сменил
Епа-мама, точно... все, ВСЕ дружно забываем про setInterval при FPS=1 80) Но при одинаковых раскладах (одинаковый FPS для setInterval и onEnterFrame) setInterval рулит, похоже!


Последний раз редактировалось kost@; 11.08.2005 в 14:21.
Старый 11.08.2005, 14:31
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 19  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Сообщение от kost@
Епа-мама, точно... все, ВСЕ дружно забываем про setInterval при FPS=1 80) Но при одинаковых раскладах (одинаковый FPS для setInterval и onEnterFrame) setInterval рулит, похоже!
Смотря для чего. onEnterFrame при каждом своем вызове полностью перерисовывает сцену, даже если на ней ничего нет. А setInterval этого не делает.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 11.08.2005, 15:07
E-mail вне форума Посмотреть профиль Отправить личное сообщение для E-mail Найти все сообщения от E-mail
  № 20  
Ответить с цитированием
E-mail
 
Аватар для E-mail

Регистрация: Jun 2005
Адрес: Питер
Сообщений: 498
Записей в блоге: 1
в окне ни грамма глюка,при полноэкраном(1024 на 768)лёгкое подёргивание
проц-амд 3000+(2.1ггц)
винда - новая не испачканная

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

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

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


 


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


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