![]() |
|
||||||||||
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
|
|
|||||
|
Цитата:
__________________
...вселенская грусть |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
gloomyBrain, есть идеи убедительного теста?
|
|
|||||
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(); } } }
__________________
...вселенская грусть |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
А в чем заключается смысл теста?
Последний раз редактировалось goodguy; 05.07.2011 в 18:44. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
У меня была такая же идея. Это не убедительно.
Убедительно будет только тогда, когда можно будет сравнить скорость действия copyPixel() и простого смещения картинки. А это всё мура. |
|
|||||
|
Цитата:
В конечном итоге, Вы заявляли, что какой-то из способов быстрее. После того, как Вы выложили свой абсолютно-ничего-не-сравнивающий-бенчмарк, и согласились с тем, что он не объективен, я выложил вариант, который поможет Вам, приложив некоторые умственные усилия, все таки подтвердить Вашу гипотезу. Если же у Вас нет возможности приложить оные усилия, то пожалуй лучше Вам отказаться от ваших утверждений
__________________
...вселенская грусть |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
Так же очевидно, что проблема не в нем, а в измерении скорости рендеринга кортинки при ее обычном смещении. Так что, если у Вас нет идей как сделать это, то, пожалуй, Вам лучше отказаться от своих бессмысленных попыток заниматься троллингом. Лично у меня пока идей нет. п.с. Если сделаете такой тест, я признаю свою неправоту и извинюсь. |
|
|||||
|
Не понимаю, почему Вам не нравится тест скорости, основанный на fps? По сути, это ведь и есть скорость отрисовки - сколько кадров плеер успевает нарисовать за секунду.
В моем примере, как раз и меряется fps, но дело в том, что при шевелении всего одной битмапы (и вызовом одного "копипиксел") заметного проседания fps не будет. Нужен или очень слабый компьютер, или добавлять каких-нибудь мешающих отрисовке факторов. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:52. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|