Webgl2 - Transformfeedback против дампа в CPU.Что быстрее для перемещения 1 000 000 позиций вершин? - PullRequest
1 голос
/ 16 мая 2019

Для моделирования системы физических частиц я хочу оптимизировать программу WebGL2. Я хочу знать, быстрее ли регулировать положения вершин с помощью обратной трансформации при доступе к 3D-текстуре, устанавливая мою позицию, например, «color.r» из пикселя текстуры, или, альтернативно, сбрасывая весь 3D-текстуру вернуть текстуру в ЦП и извлечь значения позиций для всех вершин из текстуры, а также повторно передать новый массив вершин в графический процессор для обработки в последующем цикле отрисовки.

Будучи новичком, я не знаю, что будет быстрее. Мне нужно использовать текстуру, потому что мой расчет положения требует знания положений 26 соседних частиц относительно вычисляемой вершины.

У меня нет кода для показа. Я надеюсь получить руководство по подходу, прежде чем писать код для любого подхода.

Моя интуиция говорит, что оставаться на графическом процессоре вместо того, чтобы перекачивать 1 000 000 вершин (минимум) данных назад и вперед, каждый цикл рисования будет быстрее, но это интуиция новичка, и я предпочитаю получать указания от кого-то, кто уверен в его знания.

...