Posts Tagged ‘pixelBlender’



28
июля

Еще несколько важных фактов о производительности Pixel Blender’а

В блоге Дэвида Ленартса появился интересный тест производительности Пиксел Блендера. В частности интересно, что при работе с фильтами Pixel Blendera:

BitmapData быстрее чем  ByteArray а он в свою очередь быстрее, чем Vector.<Number> !

  • ShaderJob on BitmapData: 92-99ms
  • ShaderJob on ByteArray: 147-172ms
  • ShaderJob on Vector.<Number>: 167-192ms
  • BitmapData is ~40% быстрее чем ByteArray
  • BitmapData is ~47% быстрее чем Vector.<Number>!!

Операторы сравнения дают значительное падение производительности.

В своем тесте Дэвид делает тест, где вычисления не производятся для пикселей с alpha==0. При этом даже если таких пикселей около половины - время вычислений вырастает:

  • BitmapData: 134-192ms - ~47% потеря скорости!!!
  • ByteArray: 147-172ms - ~22% потеря скорости
  • Vector: 192-213ms - ~27%потеря скорости

Не используйте input в качестве output

Лучше иметь два разных BitmapData. Дело в том что Flash player делает временную копию источника, что увеличивает время вычислений фильтра.

  • BitmapData: 207-218ms - ~30% потеря скорости
  • ByteArray: 256-271ms - ~65% потеря скорости
  • Vector: 276-293ms - ~40% потеря скорости

На своем опыте могу сказать, что все эти нюансики складываются иногда в очень неприятные тормоза.

10
июня

Производительность PixelBlender’а

Для меня оказалось сюрпризом, что эффект джина во флэш-плеере воспроизводится значительно медленнее, чем в самом PixelBlender. При этом, чем больше размер объекта к которому применяется шейдер, тем сильнее тормоза.

Я стал разбираться с этим вопросом и нарыл одну весьма интересную запись в блоге Kaourantin.net.

Цитирую:

You heard right, software run time. Pixel Bender kernels do not run using any GPU functionality whatsoever in Flash Player 10.

Да. Во флэш-плеере пикселблендер не использует GPU! Вот и весь сказ. Так что вся эта прекрасная скорость и гладкость наблюдаемая в самом PixelBlender пока что только там и остается. Очень это разочаровало меня если честно, за что боролись? Впрочем, ряд трюков все равно можно исполнить только средствами пиксел блендера - это оправдывает его существование.

Кстати, в статье еще много всякого вкусного о PixelBlender - рекомендую.

7
июня

Genie. Эффект Джина с использованием PixelBlender.

genieTest

Недавно в блоге “Флэш-потрошителя” я нашел интересную ссылку в блоге ViValution, о том как создать эффект genie на сильверлайте с помощью пиксельных шейдеров.

Я посмотрел и загорелся идеей сделать этот эффект на As3 c помощью PixelBlender.
Click to continue…

Celadon theme by the Themes Boutique