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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.12.2015, 22:15
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 21  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
1) Добавлять готовую растровую картинку сразу на сцену, НИ В КОЕМ случает НЕ НУЖНО оборачивать её ни в какие мувиклипы.
С чего бы это? Мувиклип это просто контейнер. Он никак не превратит растрову картинку в векторную. Причина лагов у него была в векторных масках. В моем файле тоже растровая картинка добавляется в контейнер, и это не приводит ни как каким лагам
Цитата:
2) Анимацию вращения и увеличения создавать программно.
То же не понятно как это может влиять на наличие лагов

Старый 18.12.2015, 22:32
zCHESNOKz вне форума Посмотреть профиль Отправить личное сообщение для zCHESNOKz Посетить домашнюю страницу zCHESNOKz Найти все сообщения от zCHESNOKz
  № 22  
Ответить с цитированием
zCHESNOKz
 
Аватар для zCHESNOKz

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от Bletraut Посмотреть сообщение
Просмотрел исходник, причина лагов ясна - НЕ нужно оборачивать растровую картинку в мувик и делать над ней анимацию во флеше, это вся причина лагов. Как исправить:
1) Добавлять готовую растровую картинку сразу на сцену, НИ В КОЕМ случает НЕ НУЖНО оборачивать её ни в какие мувиклипы.
2) Анимацию вращения и увеличения создавать программно.

Итог: лагов не будет.

Попробовал. Серьезно, ничего не изменилось.(

Старый 18.12.2015, 22:32
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 23  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Цитата:
С чего бы это? Мувиклип это просто контейнер. Он никак не превратит растрову картинку в векторную. Причина лагов у него была в векторных масках. В моем файле тоже растровая картинка добавляется в контейнер, и это не приводит ни как каким лагам
Зачем для битматы делать ещё один контейнер?

Цитата:
То же не понятно как это может влиять на наличие лагов
Если убрать флешевскую анимацию и сделать rotation += 10, то лаги исчезают

Добавлено через 39 секунд
Код AS3:
Попробовал. Серьезно, ничего не изменилось.(
Придется выложить исходник

Добавлено через 22 минуты
Все дело в альфа канале. Если убрать у картинок прозрачность, лаги пропадают. Проблема в этом.

Добавлено через 30 минут
Пример со спрайтами теперь жутко лагает. Всего лишь выставлена прозрачность.

Код AS3:
package {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.Point;
 
	[SWF(frameRate = 30)]
	public class ImagesRotation extends Sprite {
 
		private var _allObjects:Array = [];
 
		public function ImagesRotation() {
 
			for (var i:int = 0; i < 200; i++) {
				var b:Bitmap = new Bitmap(new BitmapData(100, 100, true, Math.random() * 100000000));
				var s:Sprite = new Sprite();
				var pos:Point = getRandomPosition();
				b.x 	= -b.width >> 1;
				b.y 	= -b.height >> 1;
				s.x 	= pos.x;
				s.y 	= pos.y;
				s.addChild(b);
				addChild(s);
				_allObjects.push(s);
			}
			addChild(new Stats());
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
 
		private function onEnterFrame(e:Event):void {
			for each (var sprite:Sprite in _allObjects) {
				sprite.rotation += 20;
			}
		}
		private function getRandomPosition():Point {
			return new Point(stage.stageWidth * Math.random(), stage.stageHeight * Math.random());
		}
	}
 
}
__________________
Я заклинаю вас действовать иначе.

Старый 18.12.2015, 23:21
zCHESNOKz вне форума Посмотреть профиль Отправить личное сообщение для zCHESNOKz Посетить домашнюю страницу zCHESNOKz Найти все сообщения от zCHESNOKz
  № 24  
Ответить с цитированием
zCHESNOKz
 
Аватар для zCHESNOKz

Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
Цитата:
Сообщение от Bletraut Посмотреть сообщение
Все дело в альфа канале. Если убрать у картинок прозрачность, лаги пропадают. Проблема в этом.
[/as3]
Если честно то это вообще перебор. Если лаги берутся:
-от прозрачности;
-от векторных масок;
-от огромного[сарказм] количество клипов, 30 штук;
(возможно что еще и от длинных анимаций)

То ВСЯ суть заключается в этих особенностях нужной анимации. Я не могу просто взять и отказаться от прозрачности и забыть о такой классной фишке как маска. Мне все таки, что то подсказывает что все дело в рендере (с которым, не будем тыкать пальцами кто - не справляется), и к нему нужно найти правильный подход.

(Возможно это тоже имеет значение но, анимация медленная 5 сек./1 оборот, также и с scale)

Старый 18.12.2015, 23:23
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 25  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Лаги только от прозрачности.
__________________
Я заклинаю вас действовать иначе.

Старый 18.12.2015, 23:24
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 26  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от Bletraut Посмотреть сообщение
Зачем для битматы делать ещё один контейнер?
Хотя бы для того, чтобы можно было легко сместить ее относительно точки трансформации. Или ты не ищешь легких путей и всегда вращаешь объекты через матрицы?


А вот с альфа каналом действительно тормозит сильнее

Старый 18.12.2015, 23:25
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 27  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Во всяком случае, прозрачность играет самую весомую роль.

Добавлено через 1 минуту
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Хотя бы для того, чтобы можно было легко сместить ее относительно точки трансформации. Или ты не ищешь легких путей и всегда вращаешь объекты через матрицы?
Я работаю с 3д, там только матрицы.
__________________
Я заклинаю вас действовать иначе.

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
В 2д тоже только матрицы. Вопрос кому их считать. И неужели во всем 3д не найдется места таком понятию, как контейнер ?

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

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Цитата:
И неужели во всем 3д не найдется места таком понятию, как контейнер ?
А у контейнера что, нет матриц? Добавляя модель в дополнительную обертку мы получаем 2 преобразования матрицы вместо одного.
__________________
Я заклинаю вас действовать иначе.

Старый 19.12.2015, 14:37
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 30  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
При чем тут матрицы контейнера? ) Я не хочу работать с матрицами напрямую, когда можно легко поворачивать контейнер. Пусть пересчет матриц на себя берет комп.
Руководствуясь такой логикой, можно вообще на ассемблере писать. Какая разница, если результат один)

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

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

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


 


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


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