У меня есть конвейер рендеринга, где я опробую gpu.js в качестве механизма шейдера.Из того, что я могу сказать, хотя gpu.js может принимать буфер типизированного массива в качестве входных данных, нет способа вывести его в типизированный массив.Таким образом, для рендеринга заштрихованного результата мне нужно преобразовать этот буфер (возможно, 1080 x 1920 x 4 = 8 294 400 длины буфера массива) в типизированный массив.
Это делается следующим образом:
outputBufferRaw = pixelateMatrix(frameBuffer); // shading = ~30ms (kinda slow)
outputBuffer = new Uint8ClampedArray(outputBufferRaw); // conversion = ~100ms (very slow)
занимает ~ 100 мс, что слишком медленно для конвейера рендеринга в реальном времени.Я подозреваю, что обычные массивы работают медленно, и мне нужно обрабатывать это по-другому, никогда не выводя нетипизированный массив где-либо в конвейере рендеринга, это справедливо, но мой вопрос: почему?Почему преобразование обычного массива в типизированный массив занимает так много времени?Почему обычные массивы так медленно работают с