Posts Tagged ‘performance’



20
Янв

Flash-console логгер/дебаггер - швейцарский нож разработчика

Обнаружил на ruFlash интересную утилиту Flash-console логгер/дебаггер. Надо будет протестировать. console_controls

Обычно я пользуюсь либо традиционным трейсом, во flash IDE и SWFProfiler для отображения информации о состоянии памяти и framerate, либо встроенным дебаггером той же flash IDE. Очень спартанский набор, да.

Однако с переходом на 64-bit windows7 начались постоянные проблемы с дебаг-версией flash плеера - постоянно вешает мне файрфокс. Это очень, очень раздражает. Тут как раз может такая утилитка пригодится, т.к. она не требует этой дебаг версии.

Интерфейс этой штуки конечно не назовешь удобным и понятным, но это не главное. Посмотрим, как она покажет себя в деле.

На вскидку несколько возможностей flash-console, которые меня приятно удивили:

  • просмотр дерева объектов под курсором мыши
  • экранная линейка с увеличенным просмотром
  • графический мониторинг памяти + fps
  • принудительный запуск гарбадж-коллектора
  • инспектор объектов! Да, блин, можно посмотреть поля и методы объекта и текущие значения переменных!
  • несколько каналов трейсинга - очень актуально, у меня иногда output трейса так забивается мессагами, что я иногда неделю не могу найти из какого места в коде этот спам у меня генерится, а тут фильтровать можно.

P.S. попробовал лично. Просто офигенная штука! Меня впечатлила примочка - показывающая полностью все объекты находящиеся по курсором в виде дерева. Мне лично это помогло обнаружить, что некоторые негодяйские мувиклипы вовсе не удалялись со сцены, как я полагал, а висели там с нулевой прозрачностью и захламляли память. Так что штука мегаполезная. Однозначно рекомендую!

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% потеря скорости

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

Celadon theme by the Themes Boutique