У меня есть довольно простые 3D-объекты (в основном THREE.Sphere
, который является родителем 1-30 других THREE.Sphere
s, с цветом RGB и без текстуры) для отображения в несколько анимации в реальном времени.Для петель беспокоит рендеринг
Отрисовка выполняется в кратчайшие сроки, но у меня есть простой итеративный расчет (for-loops
), которые нарушают мои возможности отображения. рендеринга само по себе не является проблемой, но вычисление для следующего кадра вершин, что вызывает боль
Значение, когда я просто запустить сценарий, я могу видеть, что for-loops
занимает слишком много времени, чтобы вычислить , и именно тогда он переходит в секцию рендеринга, которая выполняется в кратчайшие сроки.
Я думал о решении этой проблемы в параллельной вычислительной манере - работает поток (рабочий, независимо от того, что он вызывается в JS
), который будет вычислять for-loop
, но я думал, что, учитывая мой недостаток опыта в компьютерных графиках, возможно, существует более «графический» способ сделать это. Это более элегантный/улучшенный/естественный способ решения такой фундаментальной проблемы проектирования компьютерной графики.
Это может быть хорошей идеей, чтобы показать код цикла вы думаете медленно. – 2pha
Для чего нужны шейдеры, переместите свой код на графический процессор, и он будет намного быстрее из-за параллелизма. –
@BrendanAnnable - не шейдеры для рендеринга? Графический процессор не очень эффективен для простых, нематричных операций. Все, что мне нужно (@ 2pha) в цикле for - это некоторый доступ к памяти, а также некоторые сравнения, некоторая сортировка выполняется на нескольких небольших массивах (около 5 массивов до 30 целых элементов каждый) –