Я ищу некоторую помощь, конвертирующую код as3 в код пикселя, чтобы повысить производительность моего приложения.помогите преобразовать этот код as3 в код пикселя.
Этот код as3 выглядит следующим образом. Я просматриваю значения Number bytearray в кусках. Допустим, что длина этого куска была 100 номеров. Я читал 2 числа (влево и вправо) и пытаюсь найти максимальные значения. Числа в моем bytearray - это данные PCM, поэтому их миллионы, и этот код может занять много времени, особенно на низкоспециализированной машине.
Вся цель этого заключается в том, чтобы как можно быстрее отобразить форму волны. Я очень мало знаю об пиксельных гиборах. Я могу в принципе сделать новый файл и создать ShaderJob его во флэш-памяти, но я действительно не зная, как подойти к этому ...
Я предполагаю, что я действительно спрашиваю, как мне пройти pixelbender либо
) а «кусок» чисел и заставить его передать мне назад 2 максимальные значения (левый и правый)
или
в) весь мой ByteArray, и получить Pixel Bender, чтобы сделать отрывов вещи для меня
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;
}
}
Я думаю, что моя основная проблема заключалась в том, что было так много расчетов, что основной поток получал повесил трубку, и все остановилось. Если кто-то может показать мне код пикселя, чтобы принять 2 числа и вернуть самый большой, я мог бы попытаться позвонить, вместо того, чтобы делать вычисления в моем цикле chunk и посмотреть, есть ли у любой производительности производительность – dubbeat
, также я считаю, что метод calculatePixel в основном представляет собой цикл. Таким образом, я передаю данные в качестве подобия или представлял собой растровое изображение, которое могло бы сделать трюк? – dubbeat
Опять же, да, пиксельный изгиб запускает ядро по каждому пикселю или векторной записи, которую вы передаете, но каждый раз, когда он запускает код, он не знает о том, что происходит в других пикселях, и он не имеет возможности передавать информацию, кроме для возврата измененного пикселя. Если вы используете Alchemy, этот код может работать в фоновом режиме и не будет блокировать выполнение вашей основной программы. – Quasimondo