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

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

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
А как она может не зависеть? Если все пиксели не проходят проверку, код будет выполняться быстрее, так как не выполняются операции над пикселями.

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

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
а там Bitmap устроен так, что если ничего на нём не нарисовать, то в нём не будет пикселей вообще?

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

Регистрация: Jan 2009
Сообщений: 1,651
Искал что-то свое, нашел случайно.
http://www.petrileskinen.fi/Actionscript/Metaballs.php

Может пригодится? =/ Тормозит, правда, еще больше чем у тебя, но может это из-за освещения.

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

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
Попробовал его способ(вместо treshold сделать ColorMatrixFilter), вышло раза в 3 медленней..

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

Регистрация: Jan 2009
Сообщений: 1,651
ну, нужно для начал определеить узкое место. Является ли им threshold, или все таки
Код:
			bubbles.beginGradientFill(GradientType.RADIAL, [0xFF,0xFF], [1,0], [60, 255],m);                    //рисую полупрозрачные кружки от центра к краям
				bubbles.drawCircle(p.xx, p.yy, 25);
				bubbles.endFill();
И я все таки, бы попробовал рисовать элементы мувиками, накладывать вместо градиентов glow на родительский мувик элементов и делать threshold на полученом мувике. Все таки glow ты один раз наложешь, а градиенты ты друг за другом рисуешь.

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

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
от градиентов в цикле я избавился. Теперь его я 1 раз рисую до начала симуляции:
Код AS3:
			bubble=this.bubbleShape.graphics;
			bubble.clear();
 
			m=new Matrix();
			m.createGradientBox(2*r, 2*r, 0, -r, -r);
			bubble.beginGradientFill(GradientType.RADIAL, [0xFF,0xFF], [1,0], [30, 255],m);
			bubble.drawCircle(0, 0, r);
			bubble.endFill();

потом уже при рисовании:
Код AS3:
			var i:int;
			var p:BaseParticle;
			var m:Matrix;
			m=new Matrix();
 
			for (i=0; i<ptCount; i++)
			{
				p=pt[i];
				m.tx=p.xx;
				m.ty=p.yy;
				bmp.draw(bubbleShape,m);
			}
 
			var rect:Rectangle=new Rectangle(0, 0, w, h);
			bmp.threshold(bmp,rect, new Point(0, 0), "<", 0xA0000000)
			bmp.unlock();

Старый 20.07.2009, 17:45
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 17  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Тут, короче, оптимизировать нечего =) Ну кроме заменить for на while (i--) - говорят он быстрее. Или написать более быстрый программный аналог threshold =/

Старый 20.07.2009, 17:55
Герыч вне форума Посмотреть профиль Отправить личное сообщение для Герыч Найти все сообщения от Герыч
  № 18  
Ответить с цитированием
Герыч
 
Аватар для Герыч

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
неее) щас посмотрел, что жрёт время.. цикл-50-60 мс, всё остальное 1-2 мс.
В чём тогда проблема? я не понимаю... вот это
Код AS3:
bmp.draw(bubbleShape,m);
занимает по времени 0.3 мс примерно.. есть ли какой-нибудь более быстрый способ рисования готовой картинки на bmp?

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

Регистрация: Jan 2009
Сообщений: 1,651
Ну 50мс - это довольно много. Собственно - это падение до 20 fps.

Старый 20.07.2009, 18:03
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 20  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
сopyPixels быстрее
__________________
TankiOnline
Я разработчик Alternativa3D

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

Теги
metaball , Вода
Опции темы
Опции просмотра

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

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


 


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


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