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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.07.2011, 17:52
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 21  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
вот это жесть, Вы не там меряете, здесь вы просто изменили коориднату, а отрисовывать плеер потом будет...
хм.. ну допустим. Если увеличить интфервал смещения, то смещение картинки происходит даже зрительно быстрее, чем копирование пикселей

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
даже если отсюда убрать создание новой BitmapData, и оставить только copyPixels() все равно это будет работать медленее
Ну может пора уже родить нормальный тест?
__________________
...вселенская грусть

Старый 05.07.2011, 18:00
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 23  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
gloomyBrain, есть идеи убедительного теста?

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Код AS3:
package view {
 
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.geom.Point;
	import flash.geom.Rectangle;
	import resources.EmbedManager;
 
	/**
	 * 
	 * @author gloomyBrain
	 */
	public final class BlitWallScroller extends Sprite {
 
		private var _sourceBD:BitmapData = null;
		private var _viewBD:BitmapData = null;
		private var _view:Bitmap = null;
 
		private var _scroll:uint;
		private var _maxScroll:uint;
 
		private var _copyRect:Rectangle;
		private var _destPoint:Point;
 
		public function BlitWallScroller() {
 
			super();
 
			_sourceBD = EmbedManager.wall;
			_viewBD = new BitmapData(_sourceBD.width, _sourceBD.height);
			_view = new Bitmap(_viewBD);
 
			_scroll = 0;
			_maxScroll = _sourceBD.height;
 
			_copyRect = new Rectangle(0, 0, _sourceBD.width);
			_destPoint = new Point(0, 0);
 
			super.addChild(_view);
 
		}
 
		/**
		 * @private
		 */
		public function update(value:uint):void {
 
			value += _scroll;
 
			if (value > _maxScroll) value %= _maxScroll;
			_scroll = value;
 
			_viewBD.lock();
 
			if (value == 0) {
 
				_destPoint.y = 0;
				_copyRect.y = 0;
				_copyRect.height = _maxScroll;
 
				_viewBD.copyPixels(_sourceBD, _copyRect, _destPoint);
 
			}else {
 
				// верхняя часть
				_destPoint.y = 0;
				_copyRect.y = value;
				_copyRect.height = _maxScroll - value;
 
				_viewBD.copyPixels(_sourceBD, _copyRect, _destPoint);
 
 
				// нижняя часть
				_destPoint.y = _copyRect.height;
				_copyRect.y = 0;
				_copyRect.height = value;
 
				_viewBD.copyPixels(_sourceBD, _copyRect, _destPoint);
 
			}
 
			_viewBD.unlock();
 
		}
 
	}
 
}
Вместо EmbedManager.wall нужно подставить свою BitmapData ну вызывать update по ENTER_FRAME
__________________
...вселенская грусть

Старый 05.07.2011, 18:41
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 25  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
А в чем заключается смысл теста?


Последний раз редактировалось goodguy; 05.07.2011 в 18:44.
Старый 05.07.2011, 18:44
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 26  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Это не тест. Это идея убедительного теста.
__________________
...вселенская грусть

Старый 05.07.2011, 18:47
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 27  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
У меня была такая же идея. Это не убедительно.
Убедительно будет только тогда, когда можно будет сравнить скорость действия copyPixel() и простого смещения картинки.
А это всё мура.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
У меня была такая же идея
Ага. И виртуозное исполнение =)
В конечном итоге, Вы заявляли, что какой-то из способов быстрее.
После того, как Вы выложили свой абсолютно-ничего-не-сравнивающий-бенчмарк, и согласились с тем, что он не объективен, я выложил вариант, который поможет Вам, приложив некоторые умственные усилия, все таки подтвердить Вашу гипотезу.
Если же у Вас нет возможности приложить оные усилия, то пожалуй лучше Вам отказаться от ваших утверждений
__________________
...вселенская грусть

Старый 05.07.2011, 19:54
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 29  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
я выложил вариант, который поможет Вам
gloomyBrain, ваш код достоин капитана Очевидности. Он практически точно повторяет то, что делается в моем коде, в классе NoBuffer.
Так же очевидно, что проблема не в нем, а в измерении скорости рендеринга кортинки при ее обычном смещении. Так что, если у Вас нет идей как сделать это, то, пожалуй, Вам лучше отказаться от своих бессмысленных попыток заниматься троллингом.
Лично у меня пока идей нет.

п.с. Если сделаете такой тест, я признаю свою неправоту и извинюсь.

Старый 06.07.2011, 09:52
zuxul вне форума Посмотреть профиль Отправить личное сообщение для zuxul Найти все сообщения от zuxul
  № 30  
Ответить с цитированием
zuxul

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Не понимаю, почему Вам не нравится тест скорости, основанный на fps? По сути, это ведь и есть скорость отрисовки - сколько кадров плеер успевает нарисовать за секунду.
В моем примере, как раз и меряется fps, но дело в том, что при шевелении всего одной битмапы (и вызовом одного "копипиксел") заметного проседания fps не будет.
Нужен или очень слабый компьютер, или добавлять каких-нибудь мешающих отрисовке факторов.

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

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

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


 


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


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