Мне нужна помощь в преобразовании кода as3 в код pixelbender, чтобы повысить производительность моего приложения.
Этот код as3 выглядит следующим образом. Я сканирую числовые значения байтового массива кусками. Допустим, длина фрагмента была 100 цифр. Я прочитал 2 цифры (слева и справа) и попытался найти максимальные значения. Числа в моем байтовом массиве - это данные PCM, поэтому их миллионы, и выполнение этого кода часто занимает много времени, особенно на машине с низкой спецификацией.
Вся цель этого - сделать сигнал максимально быстрым. Я очень мало знаю о пиксельном изгибе. Я могу в основном сделать новый файл и создать его shaderJob во флэш-памяти, но я действительно не уверен, как подойти к этому ...
Полагаю, я действительно спрашиваю, как я могу передать pixelbender
А) «кусок» чисел и заставить его передать мне 2 максимальных значения (слева и справа)
или
B) весь мой bytearray и получаю пиксель Бендера, чтобы он делал для меня чанкинг.
var spritePixelIndex:Number=0;
var spriteSize:Number;
spriteSize=_sizes[_numberOfZoomLevels - 1];
blockSize=Math.floor(_pcmLength / spriteSize);
chunksize=blockSize * 100;
for (var i:int=0; i < chunksize; ++i)
{
if (_pcmData.bytesAvailable)
{
var la:Number=_pcmData.readFloat();
var ra:Number=_pcmData.readFloat();
var l:Number=la > 0.0 ? la : -la;
var r:Number=ra > 0.0 ? ra : -ra;
++_divCount;
var ml:Number=0;
var mr:Number=0;
var a_ml:Number=ml > 0.0 ? ml : -ml;
var a_mr:Number=mr > 0.0 ? mr : -mr;
ml=a_ml > (l) ? ml : l;
mr=a_mr > (r) ? mr : r;
}
}