Насколько я понимаю, шейдеры - это шейдеры в том смысле, что они просто программы, запускаемые множеством потоков данных.Следовательно, в общем случае не должно быть различий с точки зрения вычислительной мощности / скорости при выполнении вычислений в пиксельном шейдере, в отличие от вычислительного шейдера. Однако ..
Чтобы выполнить вычисления на пиксельном шейдере, вы должны массировать ваши данные так, чтобы они выглядели как данные изображения, это означает, что вы должны сначала нарисовать квад, а такжеваш вывод должен иметь «форму» пикселя (в основном float4).Затем эти данные должны быть интерпретированы вашим приложением во что-то полезное
. Если вы используете computeshader, вы можете полностью контролировать количество используемых потоков, где, как и для пиксельных шейдеров, они должны иметь допустимые разрешения.Кроме того, вы можете вводить и выводить данные в любом формате, который вам нравится, и использовать ускоренное преобразование с помощью БПЛА (я думаю)
Я бы порекомендовал использовать компьютерные шейдеры, поскольку они предназначены для выполнения вычислений общего назначения и намного легчеработать с.Ваше общее приложение, вероятно, тоже будет быстрее, даже если фактическое время вычислений шейдеров примерно одинаково, просто потому, что вы можете избежать некоторых циклов, через которые вам нужно пройти, чтобы заставить пиксельные шейдеры делать то, что вы хотите.