28
июля
2

Еще несколько важных фактов о производительности 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% потеря скорости

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

Enjoyed reading this post?
Subscribe to the RSS feed and have all new posts delivered straight to you.
2 Comments:
  1. online 31 Дек, 2009

    новых творческих начинаний в новом году!

Celadon theme by the Themes Boutique